他の タスクがハングするようなデバイスドライバをデバッグしようとしています。どのタスクがいつ実行されるかは確定的です。 がハングします。ハングプロセス用のカーネルデバッグ?
基本的に、「タスクは が120秒以上ブロックされています」というカーネルのエラーメッセージがスタックトレースとともに表示されます。 ハングタスクは「 。そして、スタックトレース内の一番上の機能が異なる 『(カーネルスレッドをpdflushするmkfsのためにsendmailの異なる『mark_locks_held 『に』 bio_submit』に 』 getnstimeofday。
私はハードを持っています の問題を見つけるのは非常に難しいため、これをデバッグするのは非常に難しいので、カーネルが提供するスタックトレースはあまり役に立ちません これらのスタックトレースによれば、それらのプロセスのうちのいくつかはロックを取得しようとしていませんgetnstimeofday 関数)、なぜ彼らがハングするのかわかりません。
だから私は誰かがそのような 問題をデバッグする方法に関するアイデア。 kgdbはここでは役に立ちますか?おそらく、私にちょうど がプロセスがハングアップしていることを教えてくれています。それはどのようなロックが待っていますか?
ご迷惑をおかけして申し訳ございません。
フレームポインタを使用するようにカーネルがコンパイルされていますか? – Karmastan
いいえ、そうではありません。しかし、すべてのデバッグオプションがあります。 – yangsuli