2009-06-22 12 views
0

いくつかのWindows APIをデバッグしており、スタックトレースの表示はUnloaded_hext.dllです。私はこのDLLを見つけることができません。シンボルがない場合でも、WinDbgはこのDLL名を出力します。プロセスモニタはこのdllを見つけることができません。既知のモジュールを使用したWinDbg

「アンロード」のプレフィックスはなぜですか?これはWinDbgによって行われるのですか、それとも何か手掛かりがありますか?

lmコマンドを実行すると、アンロードされたモジュールセクションにhext.dllが表示されました。しかし、それがアンロードされている場合は、なぜスタックトレースで表示されていますか?

答えて

1

WinDBGはデバッグを容易にするためにアンロードされた後でもモジュールを追跡します。

通常、アンロードされたモジュールはスタックトレースに表示されるべきではありません。もしそうであれば、モジュールがまだ使われている間にアンロードが行われました(FreeLibraryはそれを妨げません)。この早すぎるアンロードは、コードのバグです。

+0

実際には私のコードではないイベントです。私は、既存のウィンドウプロセス上のWindows API上でいくつかのデバッグをやっています。 – anand

関連する問題