2

私は、カーネル モジュールと、そのモジュールをテストするためのユーザー空間アプリケーションに取り組んでいます。

問題は、テスト中にシステムがハング/フリーズすることです。

コードに多くのデバッグ プリントを配置しました。

出力される最後のメッセージは、ユーザー空間アプリケーションでの Linux select呼び出しの直前です。選択するとシステムがフリーズしますか?

では、どこに問題があるのか​​をどのようにデバッグできますか? 問題がユーザー空間アプリケーションにあるのか、カーネル モジュールにあるのか?

4

2 に答える 2

3

nm が述べたように、ユーザー空間プログラムは Linux をフリーズできないため、カーネル モジュールのエラーです。これをデバッグする最善の方法は、カーネル デバッガーを使用して、モジュールの何が問題なのかを突き止めることです。

一般的なエラーは、モジュールがカーネルに渡す初期化されていないポインターまたはロックの問題であるため、それらを詳しく調べてください。

于 2012-05-16T19:25:58.977 に答える
2

ユーザー空間プログラムは、定義上、Linux をフリーズすることはできません。カーネルにバグがあります。

于 2012-05-16T15:23:31.700 に答える