0

Sysinternal の Process Monitor を発見したばかりで、プロセスが何をしているかについての洞察が気に入っています。しかし、カーネルへのソフトウェア呼び出しの詳細を確認しようとすると、スタックが「不明」でいっぱいになります。関数名がスタック トレースに表示されるようにアプリケーションをビルドするにはどうすればよいですか?

4

1 に答える 1

2

多くの場合、/Zi でコンパイルし、/debug でリンクするだけで十分です。アプリケーションのすべてのデバッグ情報を含む PDB ファイルを取得する必要があります。実行可能ファイルまたは PDB を移動しない限り、Process Monitor は通常それを見つけます。

アプリケーションのバージョンが複数ある場合、または他のマシンのコール スタックを調査する場合は、Symbol Server をセットアップすることをお勧めします。次に、すべての EXE ファイルと PDB ファイルを (symstore ユーティリティを使用して) Symbol Server に保存し、Process Monitor が Symbol Server を使用してデバッグ情報を検索するようにシステムを設定する必要があります。http://support.microsoft.com/kb/311503の情報を参考にしてください。

正常に機能する 1 つの方法は、環境変数を設定することです_NT_SYMBOL_PATH

set _NT_SYMBOL_PATH=symsrv*symsrv.dll*\\yourserver\symbols*http://msdl.microsoft.com/download/symbols

...\\yourserver\symbols書き込み可能で読み取り可能な共有ですが、コンピューター上のローカルパスでもかまいません。これは、繰り返し使用するためにシンボルがキャッシュされる場所です。

于 2012-05-04T23:13:43.237 に答える