Home
|
Content
|
検索
|
Navigation
|
ツールボックス
|
Actions
|
他の言語
openSUSE
Get Software
Wiki
Build Software
User Directory
Features
News
Forums
Shop
Discover it
プロジェクト概要
参加のしかた
ドキュメント
交流
サポートデータベース
連絡先
サイトマップ
ツールボックス
リンク元
関連ページの更新状況
最近更新したページ
特別ページ
ログインまたはアカウント作成
本文
ノート
ソースを表示
履歴
ソースを表示
出典: openSUSE
Bugs/YaST
のソース
以下に示された理由により、ページの編集を行うことができません:
この操作は、
登録利用者
のグループに属する利用者のみが実行できます。
このページのソースを閲覧し、コピーすることができます:
==YaST をデバッガ (gdb) から起動するにはどうすればよいでしょうか?バックトレースを出力するにはどうすればよいでしょうか?== 場合によってはより細かい情報を採取するため、 YaST をデバッガから起動するよう求められることがあります。たとえば YaST がクラッシュする場合などがそれにあたります。 完全なデバッグ情報を提供するには、関連する *-debuginfo パッケージをインストールする必要があります。たとえば <tt>yast2-core-debuginfo</tt> や <tt>yast2-pkg-bindings-debuginfo</tt> 、および <tt>libzypp-debuginfo</tt> パッケージなどがあります。クラッシュの事象が YaST の外側 (外部のライブラリなど) で発生するものの場合は、それらの debuginfo パッケージも必要になります。 debuginfo パッケージは extra リポジトリにあります。たとえば http://download.opensuse.org/distribution/SL-OSS-factory-debug/inst-source-debug/ には Factory リポジトリの debuginfo パッケージがあります。 debuginfo パッケージ無しでのデバッグも可能ですが、いくつかの情報が出力されなくなります (たとえば関数フレームやソースコード内での正確な位置情報など) ので、結果があまり役に立たない場合もあります。 gdb デバッガを利用して YaST インタプリタを起動するには、下記のコマンドを入力してください gdb /usr/lib/YaST2/bin/y2base その後、 run <モジュール名> qt として Qt や gtk グラフィカルインターフェイス内で必要な YaST モジュールを起動してください (ncurses を利用したテキスト版の場合、 gdb と YaST の出力が混在する結果になってしまいます。次の段落で解決方法を示しています)。利用可能なモジュールの一覧を表示するには、 '<tt>yast -l</tt> ' コマンドをご利用ください。 もう一つの方法としては、既に実行済みの YaST プロセスに対して gdb をアタッチ (接続) させるやり方があります。この場合は下記のように実行してください gdb /usr/lib/YaST2/bin/y2base <PID> ここで、 PID は y2base プロセスのプロセス ID を記入します。プロセス ID は '<tt>ps -aux</tt>' コマンドで知ることができます。 gdb のアタッチ後、 YaST の実行を再開するには '<tt>cont</tt>' コマンドを入力してください。 この方法を利用すると ncurses ユーザインターフェイスのデバッグも (他の端末から) 行なうことができます。 このようにすることで gdb 以下で YaST を動かすことができますので、クラッシュなどの問題を再現させてみてください。 YaST モジュールがクラッシュしたら、デバッガ内で <tt>bt</tt> コマンドを入力するとプログラムスタック (バックトレース) を採取することができます。バグ報告に添付する場合は、このコマンドの出力を貼り付けてください。
このページで使われているテンプレート:
Template:Info
(
ソースを表示
)
Bugs/YaST
に戻る。