home ホーム search 検索 -  login ログイン  | reload edit datainfo version cmd icon diff delete  | help ヘルプ

C言語系/memos/VC++/13, _NT_SYMBOL_PATH環境変数に注意

C言語系/memos/VC++/13, _NT_SYMBOL_PATH環境変数に注意

C言語系 / memos / VC++ / 13, _NT_SYMBOL_PATH環境変数に注意
id: 920 所有者: msakamoto-sf    作成日: 2011-02-14 14:49:17
カテゴリ: C言語 WinDBG Windows プログラミング 

"Debugging Tools for Windows"のwindbgなどを使い始めると、_NT_SYMBOL_PATH環境変数をシステムに設定したりすると思います。
この環境変数ですが、Visual C++ もちゃっかり使ってたりします。
で、値の書き方によってはVC++側でシンボルサーバーまで読みに行ったりローカルキャッシュからの検索などが思うようにスムーズに動かず、デバッグ実行時に数分以上の遅延が発生する場合があります。
書き方によってはVC++側でも素早くローカルキャッシュを見に行ってくれます。

というわけで、もし _NT_SYMBOL_PATH 環境変数を設定したらやたらVC++側のデバッグ実行が遅くなった、という人は書き方を工夫してみてください。

自分の場合、windbgの勉強中にこういうふうに設定したのですが・・・

cache*C:\in_vitro\tmp\symcache;srv*C:\in_vitro\tmp\awd_symstore\symstore.pri; \
  srv*http://msdl.microsoft.com/download/symbols

VC++側ではやたらと遅延が発生してしまいました。"cache"を明示したり、";"で区切ったりしたのがいけなかったのでしょうか?→ 誤解してました。cacheが効かない+ローカルキャッシュとシンボルサーバの区切り文字を混同してました。 技術/Windows/WinDbgメモ 参照。

試行錯誤してこんなふうに直してみたら、windbgもVC++側も双方、すんなり動いてくれました。

srv*C:\in_vitro\tmp\symcache*C:\in_vitro\tmp\awd_symstore\symstore.pri; \
  http://msdl.microsoft.com/download/symbols

実験環境:

Win7 (x86,32bit) 日本語版
Visual C++ 2008 Express Edition SP1
Windows SDK v7.0

参考:



プレーンテキスト形式でダウンロード
現在のバージョン : 2
更新者: msakamoto-sf
更新日: 2011-04-02 16:20:56
md5:15462b7c9c2e1f67c2edc88c569f87d3
sha1:fb951833f2156129d0e355329e36a5e36f1fe151
コメント
コメントを投稿するにはログインして下さい。