誰かが私にコールスタックまたはスタックトレース実行中のプロセスの一部を取得して、分析してもらいました。
その情報はどうすれば入手できますか?
答え1
得るプロセスエクスプローラー。
有効にするすべてのプロセスの詳細を表示からファイルメニュー:
メイン ペインで、関心のあるプロセスを選択します。
選択したプロセスのコンテキストメニュー(右クリック)を開き、プロパティ:
上のスレッドタブでは、そのプロセス内で実行中のスレッドのリストが表示されます。
興味のあるスレッドを選択して、スタックボタン:
Process Explorer には、選択したスレッドの現在の呼び出しスタックが表示されます。
シンボル
トラブルシューティングでより詳細な情報が必要な場合は、デバッグをロードすると非常に役立ちます。シンボルProcess Explorer に入力します。手順は次のとおりです。
Windowsデバッガーがまだインストールされていない場合は、Windows 用デバッグ ツール初め。
プロセスエクスプローラーで開くシンボルを構成する...からオプションメニュー:
デバッグ ツール (または別の Windows デバッガー) がインストールされている場合は、Process Explorer によって
dbghelp.dll
ファイルが自動的に検出されます。インストールされていない場合は、ここで正しいパスを設定します。のシンボルパス次のようになります:
SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols
調整する必要があるのは だけです
C:\Symbols
。これは、デバッグ シンボルがキャッシュされる場所です。
答え2
clr プロセスのスタックが必要な場合は、ProcInsp を使用できます (私はその開発者であり、このツールは無料で使用できます)。
- インストールプロセス検査
- 興味のあるプロセスを見つけてクリックしてください
- スレッドをクリックします (ProcInsp はスレッドの名前としてアプリのエントリ ポイントを表示することに注意してください。.net インフラストラクチャのすべてのフレームをスキップします)
- エントリポイントが強調表示されたスタックトレースが表示されます