ホームページ > 記事 > システムチュートリアル > coredumpctl を使用してバグを見つけて修正する
残念な事実は、すべてのソフトウェアにはバグがあり、一部のバグはシステムのクラッシュを引き起こす可能性があるということです。この問題が発生すると、多くの場合、「コア ダンプ」と呼ばれるデータ ファイルがディスク上に残ります。このファイルには、システムがクラッシュしたときの関連データが含まれており、クラッシュが発生した理由を特定するのに役立ちます。多くの場合、開発者は、クラッシュにつながった命令の流れを示す「トレースバック」の形式でデータを要求します。開発者はこれを使用してバグを修正し、システムを改善できます。システムがクラッシュした場合に、トレースバックを簡単に生成する方法を次に示します。
ほとんどの Fedora システムは、自動エラー報告ツール (ABRT) [1] を使用して、クラッシュ ファイルを自動的にキャプチャし、バグをログに記録します。ただし、サービスを無効にした場合、またはパッケージを削除した場合は、この方法が役立つ場合があります。
システムクラッシュが発生した場合は、まず最新のソフトウェアを実行していることを確認してください。多くの場合、アップデートには、重大なエラーやクラッシュの原因となることが判明したバグの修正が含まれています。アップデート後、エラーの原因となった状況を再現してみてください。
それでもクラッシュが発生する場合、またはすでに最新のソフトウェアを実行している場合は、役立つ coredumpctl ツールがあります。このプログラムは、クラッシュの検出と処理に役立ちます。システム上のすべてのコア ダンプのリストを表示するには、次のコマンドを実行します。
リーリー予想より長いリストが表示されても驚かないでください。場合によっては、システム コンポーネントがバックグラウンドで静かにクラッシュし、自動的に回復することがあります。今日のダンプをすばやく見つける簡単な方法は、-since オプションを使用することです:
リーリー「PID」列には、ダンプを識別するために使用されるプロセス ID が含まれます。この番号は後で必要になるため、メモしてください。または、覚えたくない場合は、次を使用して変数に代入します。
リーリーコア ダンプに関する情報を表示するには、次のコマンドを使用します ($MYPID 変数を使用するか、PID 番号を置き換えます)。 リーリー
リーリー
これにより、画面に多くの情報が表示される場合があります。最後の行では、dnf を使用してさらに debuginfo パッケージをインストールするように指示されている場合があります。 sudo [2] を使用してこのコマンドを実行して、インストールします: リーリー
次に、coredumpctl gdb $MYPID コマンドを再試行します。 他のシンボルがトレースバックで展開されるため、これを繰り返し実行する必要がある場合があります。
トレースバックのキャプチャページネーションをオフにすると効果がある場合があります。長いトレースバックの場合、これにより時間が節約されます。
リーリーここでトレースバックを実行します:
リーリーこれで、
quitと入力してデバッガーを終了できます。 mybacktrace.txt バグや問題に添付できるトレース情報が含まれています。または、誰かとリアルタイムで共同作業している場合は、テキストをペーストビンにアップロードできます。いずれにしても、開発者に問題解決のためのより多くの支援を提供できるようになりました。
以上がcoredumpctl を使用してバグを見つけて修正するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。