Visual Studio C ++ 2010でPDBファイルが見つからない、または開けない


117

Visual Studio 2010 C ++を使用していますが、プロジェクトはエラーなしでビルドされますが、実行するとこれが表示されます。私はWindows XPを使用しています。

'Shaders.exe': Loaded 'C:\Documents and Settings\User\My Documents\Visual Studio        2010\Projects\Shaders\Win32\Debug\Shaders.exe', Symbols loaded.
'Shaders.exe': Loaded 'C:\WINDOWS\system32\ntdll.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\kernel32.dll', Cannot find or open the PDB  file
'Shaders.exe': Loaded 'C:\qt-everywhere-opensource-src-4.8.3\bin\QtCored4.dll', Symbols  loaded.
'Shaders.exe': Loaded 'C:\WINDOWS\system32\user32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\gdi32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\ole32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\advapi32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\rpcrt4.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\secur32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\msvcrt.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\ws2_32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\ws2help.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\msvcp100d.dll', Symbols loaded.
'Shaders.exe': Loaded 'C:\WINDOWS\system32\msvcr100d.dll', Symbols loaded.
'Shaders.exe': Loaded 'C:\qt-everywhere-opensource-src-4.8.3\bin\QtGuid4.dll', Symbols loaded.
'Shaders.exe': Loaded 'C:\WINDOWS\system32\comdlg32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\comctl32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\shell32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\shlwapi.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\oleaut32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\imm32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\winmm.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\winspool.drv', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\qt-everywhere-opensource-src-4.8.3\bin\QtOpenGLd4.dll', Symbols loaded.

ありがとう


2
これで問題が解決するかどうかはわかりませんが、私のCannot find or open the PDB file問題でVirtual C ++ 2010 Expressの問題が解決しました。移動しTools > Options > Debugging > Nativeて確認Load DLL Exports
2014年

6
このオプションの場所はVisual Studio 2015の時点で変更されており、現在は変更されていることに注意してくださいTools > Options > Debugging > General > Load dll exports (Native only)
Remko Duursma

回答:


245

PDBは、Visual Studioで使用されるデバッグ情報ファイルです。これらは、デバッグシンボルを持たないシステムDLLです。Tools->Options->Debugging->Symbols「Microsoft Symbol Servers」チェックボックスに移動して選択すると、Visual StudioがPDBを自動的にダウンロードします。または、これらのモジュールで正しいコールスタックを確認する必要がない場合は、これらの警告を無視してください。


1
VS12にopencvをインストールしようとしていたのと同じ問題があります。シンボルをロードしているように見えましたが、再構築しても変化はありません。これがなぜ起こっているのか別の考えがありますか?
Ege 2013年

それは私にとってはうまくいきましたが、部分的にだけです。openCVに関連するDLLのシンボルをロードできません。@Egeと同じ
Ruchir

1
@RuchirそのダイアログでOpenCVシンボルへのパスを指定する必要があります。Microsoft Symbol Serverには、Microsoft DLLのシンボルしかありません。
Paul

@Paulに感謝します。私はOpenCV関連のPDBファイルを持っていないので、cmake stackoverflow.com/a/19436870/5022962を使用してOpenCVを再インストールする必要があります。ただし、OpenCVを再インストールしたくない...
Ruchir

これ\Users\%Username%\AppData\Local\Temp\SymbolCache\MicrosoftPublicSymbolsは、ダウンロードされたMSシンボルが保存される一般的な場所です。ただし、私のプロジェクトの50 MB D / Lの間、「砂時計」モードのVS10は、タスクマネージャーによって「応答しない状態」に追いやられることはありませんでした。
Laurie Stearn、2015年

50

VS 2013での作業。
次のツールを試してください->オプション->デバッグ->出力ウィンドウ->モジュールロードメッセージ->オフ

ロードされたモジュールの表示を無効にします。


6
これは、PDBアンロードファイル情報を修正するだけでなく、これらの行を削除するため、より優れたソリューションです。賛成。

これを行おうとすると、ビジュアルスタジオ環境がそのビジュアル環境を変更しました:(
Alexander Leon VI

9
これは解決策ではなく、問題を回避するだけであることに注意してください。
Cary Bondoc 2015

3
@CaryBondocは、問題の見方に依存します...出力に無関係なノイズがたくさんあり、実際の情報を見逃しやすいという問題の場合、この方法の方が優れています。置換によるノイズCannot find or open the PDB fileSymbols loaded。出力が色分けされているか何かであるとよいでしょう。もちろん、これを行って後で重要になるときにそれを忘れるリスクもあります。これがプログラマーの人生です。
PeterT 2016年

このウィンドウが表示されないようにするにはどうすればよいですか?フレームワークメソッドでF11を押すと、この迷惑なウィンドウが表示されます。F11キーまたはF10キーを押すときは注意が必要です。助けてください
M.kazem Akhgary 2018

33

ポールの答えは正しい、私はそこに簡単に行くために視覚を置いているだけです。

「ツール」->「オプション」->「デバッグ」->「シンボル」に移動します。

赤でマークされたチェックボックスを設定すると、MicrosoftからPDBファイルがダウンロードされます。チェックボックスを設定すると、下の編集ボックスにあるpdbファイルのデフォルトパスも設定されます。変更する必要はありません。

ここに画像の説明を入力してください


3
スクリーンショットは本当に役に立ちます!
strarsis 2018年

4

プロジェクトマップに複数のプロジェクトがある場合は、すべてのサブプロジェクトで同じハードコードされたPathFile PDB名を使用します。

たとえば

D:\Visual Studio Projects\my_app\MyFile.pdb

例を使わない

$(IntDir)\MyFile.pdb

すべてのサブプロジェクトで!!!

=コンパイラパラメータ/ Fd


「プロジェクトマップ」とは?
和漢短歌

0

これは、[ツール]、[オプション]、[デバッグ]、[シンボル]で構成されたシンボルキャッシュディレクトリに対する変更権限がない場合にも発生する可能性があります。


0

Visual Studio(2017)がプロジェクトのPDBファイルを見つけることができないと言った同様の問題に遭遇しました。PDBファイルが正しいパスに存在することがわかりました。プロジェクトをクリーンアップして再ビルドする必要があり、その後Visual StudioがPDBファイルを認識し、デバッグが機能しました。


-1

VSの作業ディレクトリに.pdbのパスを追加するだけです!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.