/****************** * カーネルデバッグ技術 ********************/ (1)カーネルソースコード内のデバッグ関連の設定オプション カーネル構成オプションには、カーネルのデバッグに関連するいくつかのオプションが含まれており、すべて「カーネル ハッキング」メニューに集中しています。含む: 追加のデバッグ オプションが利用可能になるため、チェックする必要があります。これだけではすべてのデバッグ機能が有効になるわけではありません。 デバッグ オプションの詳細な説明については、ドライバーのマニュアルを参照するか、menuconfig のヘルプ説明を参照してください。 (2)マクロを使ってprintkデバッグ文をグローバルに制御する方法 Makefile と連携することで、c ファイル内に独自のデバッグ ステートメントを定義できます。 (3)straceの使用 strace は、ユーザー空間プログラムによって発行されたすべてのシステムコールをトレースできます。役立つパラメータは次のとおりです。
strace は、特にマルチプロセス プログラムの場合、システム コールの微妙なエラーを発見するのに非常に便利です。strace によって出力される戻り値とプロセス pid を通じて、多くの有用な情報を得ることができます。のように: (4)ltraceの使用 ltrace は、ユーザー空間プログラムによって発行されたすべての動的ライブラリ関数呼び出しをトレースできます。役立つパラメータは次のとおりです。
(5)Oopsメッセージを確認する Oops は、何か不幸なことが起こったことをユーザーに通知するカーネルの最も一般的な方法です。通常、oops を送信した後、カーネルは不安定な状態のままになります。 場合によっては、oops によってカーネル パニックが発生し、システム クラッシュにつながることがあります。このような状況には次のようなものがあります。
別のプロセスの実行中に oops が発生した場合、カーネルはそのプロセスを強制終了し、実行を継続しようとします。 Oops は、範囲外のメモリ アクセスや不正な命令など、さまざまな理由で発生する可能性があります。 oops に含まれる最も重要な情報は、レジスタ コンテキストと呼び出しトレースであり、次のような oops を人為的に発生させる可能性があります。 if(悪いもの) バグ(); //またはBUG_ON(bad_thing); panic() を使用すると、より深刻なエラーを引き起こすことができます。panic() を呼び出すと、エラー メッセージが表示されるだけでなく、システム全体が停止します。極めて悲惨な状況でのみ使用してください: if(ひどいもの) panic("foo は %ld です!\n", foo); 場合によっては、スタック情報を印刷するだけでも、dump_stack() などのテストに役立つことがあります。 if(!debug_check){ printk(KERNEL_DEBUG "情報を提供してください\n"); ダンプスタック(); } 要約する 以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。 以下もご興味があるかもしれません:
|
<<: Vueでパスワードの表示と非表示機能を実装するアイデアを詳しく解説
>>: mysql5.7 でユーザーの初期パスワードを変更する方法
序文Intel のハイパースレッディング テクノロジーにより、1 つの物理コア上で 2 つのスレッド...
この記事では、参考までに、簡単な抽選機能を実装するためのjsの具体的なコードを共有します。具体的な内...
目次マスターの後ろの秒数オリジナルの実装最終マスタータイムスタンプマスターとのクロック差他の実行時間...
水平方向では、行の配置を左、中央、右に設定できます。基本的な構文<TR ALIGN="...
目次01 よくある故障 1 02 よくある欠陥 2 03 よくある欠陥 3 04 よくある欠陥 4 ...
目次質問サーバー層とストレージエンジン層LIMITって何ですか?何をするか?トゥカオ最近、Q&...
1. 要件の説明Divタグの右上隅に削除アイコンを表示します2. 実装html、CSS 3. 参照コ...
マイグレーションアドバンテージ:小型、高速、総所有コストが低い、オープンソース。複数のオペレーティン...
行ごとに、暗い境界線の色を個別に定義できます。基本的な構文<TR 境界線の色を暗くする=col...
開発中に以下の状況が発見されました。 (1) ファイルが.jspファイル拡張子で保存されている場合、...
翻訳Kool Desktop Environment の略称。 Linux、Unix、FreeBSD...
# には位置情報が含まれます。デフォルトのアンカーは #top で、これは Web ページの上部です...
前回述べた問題を解決するために、オンラインで検索したところ、非常に優れたビジュアル インターフェース...
いわゆる才能(左脳と右脳)つまり、芸術的な才能があるかどうかは、人間の左脳と右脳の分業によって主に決...
各 Web ページには、URL () で識別されるアドレスがあります。通常、Web サイト内でリンク...