Visual Studio が特定の DLL のシンボルを読み込まないようにする
-
22-08-2019 - |
質問
Microsoft のシンボル サーバーを使用するように Visual Studio 2005 をセットアップしました。私も持っています ウルトラモン これにより、フック DLL がすべてのプロセスに挿入されます。デバッグを開始するたびに、 MFC アプリケーションでは、Visual Studio は次のように言います。
"Loading symbols for C:\Program Files\UltraMon\RTSUltraMonHookX32.dll..."
瞬きから数十秒まで。それらのシンボルは決して見つかりません...わざわざ見ないように伝えてもいいでしょうか?
(空のものを作成してみました RTSUltraMonHookX32.pdb
ファイルを作成しましたが、Visual Studio はそれが適切ではないと判断し、検索を続けます)。
解決
これを非常にきめ細かい方法で行うことはできませんが、シンボルの自動ロードを無効にし、モジュール ウィンドウ ([デバッグ] -> [ウィンドウ] -> [モジュール]) でロードするシンボルを手動で選択できます。
シンボルの自動ロードを無効にするには
- ツール -> オプション -> デバッグ -> シンボル
- 「シンボルが手動で読み込まれた場合のみ、上記の場所を検索する」にチェックを入れます。
他のヒント
また、あなたは何の「_NT_SYMBOL_PATH」環境変数を持っていないことを確認してください。あなたは、このVaRのシンボルを持っている場合に関係なく、VSの設定をロードします。
以降のVisual Studio 2010からは、あなたがに行くことができます:
Tools -> Options -> Debugging -> Symbols -> Specify excluded modules
と読み込みに時間がかかりすぎるのDLLのリストを入力します。私は、出力ウィンドウによって与えられた完全なパスを、使用します。多分それは、ワイルドカードまたは単純なファイル名を受け入れます。
私の場合はそれが原因でした 「.Net ソース ステッピングを有効にする」を true に設定しました で
Tools > Options > Debugging > General.
false に設定するのではなく、「Enable Just My Code」を true に設定すると、「Enable .Net Source Stepping」が自動的に false に設定されます。そうする前に、次の警告が表示されました。
Enabling Just my code automatically disabled .Net framework source stepping
これは示唆します Just My Code
そして .Net source stepping
は 相互排他的.
これが誰かの役に立てば幸いです。
また、おそらくまた、HKEY_LOCAL_MACHINE \ SOFTWARE \マイクロソフト\シンボルサーバー\除外または%で.iniファイルを経由します。HKEY_CURRENT_USER \ Software \ Microsoft \シンボルサーバー\除外にダウンロードしたりしようとしたことはありませんシンボルサーバーの除外を設定することができますWINDIR%\ SYSTEM32 \ INETSRV \ Symsrv.ini(ヘッダ[除外]を使用し、独自のライン上の各除外を置きます)。除外は、単純なパターンが一致しているので、MSXML5を使用しています。*たとえばます。
だけでなく_NT_SYMBOL_PATH
は、この動作を引き起こす可能性がありますが、私にとってそれは遅延を引き起こしていた_NT_ALT_SYMBOL_PATH
環境変数だっます。
(WinDbgのを試してとき、私は、私は、この変数を追加したと考えている)。
のVisual Studio 2013 Proのでは、VSは、余分な時間の多くを引き起こして、そのサーバー上のすべてのシンボルをロードしようとします。
- MS Web サイトからすべてのシンボル パッケージを手動でロードし、速度を上げるために SSD ドライブに置きます :-)
- 「_NT_SYMBOL_PATH」環境変数がある場合は、「」の部分を削除します。http://msdl.microsoft.com/download/symbols「SRVより」e:\シンボル*http://msdl.microsoft.com/download/symbols」ということなので、シンボルが存在するシンボル パスのみが貴重にダウンロードされます。
- シンボルがサポートされるようになりましたが、シンボルは MS からダウンロードされず、ドライブからロードされます。