2016-09-05 11 views
1

windbg.exeを使って同じexeをデバッグしました。 windbgがこのexeを読み込むたびに、シンボルをダウンロードするのに1分かかります。 windbgウィンドウの左下に、 "[winnt.dll] ..."というシンボルをダウンロードしています。 "私はwindbgでシンボルパスを設定しましたが、windbgが同じexeに対して同じシンボルをダウンロードするたびになぜですか?

私はこれを複数回見ました。私は私のシンボルパスを設定して、1行は次のようになります。

************* Symbol Path validation summary ************** 
Deferred SRV*D:\SymCache\Microsoft*http://msdl.microsoft.com/download/symbols 

たびに私はwindbgの開く理由は、限り、私はマイクロソフトダウンロードURLとローカル・キャッシュ・ディレクトリを設定してきたように、私には奇妙です同じexeをロードすると、windbgは同じwinnt.dllをダウンロードします.....?

ありがとうございました。

答えて

3

WinDbgはシンボルを再度ダウンロードしませんが、前回は見つからなかったファイルを再度ダウンロードしようとします。私の例では

は、私はシンボルをダウンロードして、それがhal.dllkdcom.dllntkrnlmp.pdbntoskrnl.exeをフェッチ。

.reloadをもう一度実行して、もう一度halaacpi.dllを探していました。

HTTP roundtrip times

が要求ごと8+秒の非常識なHTTPの往復時間を注意してください、それだけでダウンロードするためには何もありませんことを把握するために66秒かかった:Wiresharkのでトラフィックを監視することは、あなたはそれを見ることができます。他にも:Is WinDbg Supposed to Be So Excruciatingly Slow?

1

pdbがローカルキャッシュにある場合、symsrvはそこからダウンロードします。シンボルサーバからダウンロードします。ローカルキャッシュは、仮想マシンなどでデバッグしているときに、マップされたネットワークドライブ、ホストコンピュータの共有フォルダなどです。 ststesそれはどこかからシンボルを取り込んでいます。それは、内部または外部のvize file://です。または、http://

関連する問題