web-dev-qa-db-ja.com

エラーメッセージ:PDBファイルが見つからないか、開けません

NVIDIAの公式サイト で提供されているサンプルプログラムを実行してみました。ほとんどのプログラムはスムーズに実行されましたが、同様のエラーメッセージが表示されるものはほとんどありません。どうすれば修正できますか? 「MatrixMul」という名前のプログラムを実行した後に得られたエラーメッセージのサンプルを次に示します。

注:Window7x64 OSにx32とx64の両方をインストールしました NVIDIA CUDA Toolkit v5.0。

'matrixMul.exe': Loaded 'C:\ProgramData\NVIDIA Corporation\CUDA Samples\v5.0\bin\win32\Debug\matrixMul.exe', Symbols loaded.
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\ntdll.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\kernel32.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\KernelBase.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Program Files (x86)\NVIDIA GPU Computing Toolkit\CUDA\v5.0\bin\cudart32_50_35.dll', Binary was not built with debug information.
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\apphelp.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\AppPatch\AcLayers.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\sspicli.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\msvcrt.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\rpcrt4.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\cryptbase.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\sechost.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\user32.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\gdi32.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\lpk.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\usp10.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\advapi32.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\Shell32.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\shlwapi.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\ole32.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\oleaut32.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\userenv.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\profapi.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\winspool.drv', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\mpr.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\imm32.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\msctf.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\nvinit.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\nvcuda.dll', Binary was not built with debug information.
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\setupapi.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\cfgmgr32.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\devobj.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\dwmapi.dll', Cannot find or open the PDB file
'matrixMul.exe': Unloaded 'C:\Windows\SysWOW64\dwmapi.dll'
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\nvapi.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\version.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\wintrust.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\crypt32.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\msasn1.dll', Cannot find or open the PDB file
The thread 'Win32 Thread' (0x12fc) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x18a0) has exited with code 0 (0x0).
The program '[3104] matrixMul.exe: Native' has exited with code 0 (0x0)
62
KNU

PDBファイルは、プロジェクトのデバッグシンボルを含むVisual Studio固有のファイルです。デバッガーでこれらのdllのコードにステップインすることを望んでいない限り、これらのメッセージは無視できます(システムdllであるため疑わしい)。言い換えると、これらのdllのいずれにもPDBファイルがないため、それらを無視することができ、無視する必要があります(少なくとも、デフォルトでは、 Microsoft Symbol Server )。つまり、ブレークポイントを設定してコードをステップ実行すると、これらのdllにステップインできなくなります(とにかくやりたくない)。

完全を期すために、ここにMSDNの公式PDBの説明を示します。

プログラムデータベース(PDB)ファイルには、プログラムのデバッグ構成の増分リンクを可能にするデバッグおよびプロジェクトの状態情報が保持されます。/ZIまたは/ Ziを使用してC/C++プログラムをコンパイルすると、PDBファイルが作成されます

また、将来の参照のために、独自のコード用のPDBファイルを使用する場合は、/ ZIまたは/ Ziオプションを有効にしてプロジェクトをビルドする必要があります(プロジェクトプロパティ-> C/C++で設定できます- -> [全般]をクリックし、[デバッグ情報の形式]のフィールドを設定します。あなたの状況には関係ありませんが、将来役に立つかもしれません

111
alrikai

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

33
Mike22LFC

そのメッセージがわずらわしい場合は、管理者権限でVisual Studioを実行して、この方向をVisual Studioに適用する必要があります。

「ツール」->「オプション」->「デバッグ」->「シンボル」を選択し、「Microsoft Symbol Servers」ボックスのチェックボックスをオンにして、すべてのモジュールのロードをマークし、「すべてのシンボルのロード」をクリックします。

Visual Studioが他のすべての処理を行ってくれるので、出力ウィンドウのデバッグの下にこのメッセージが表示されます。「ネイティブはコード0(0x0)で終了しました」

19
Nikola Popov
  1. [プロジェクトのプロパティ]> [構成プロパティ]> [リンカ]> [デバッグ]タブで、[デバッグ情報の生成]設定が[はい]になっているかどうかを確認してください。そうでない場合は、「はい」に変更してください。

  2. これらの特定のpdb(ntdll.dll、mscoree.dll、kernel32.dllなど)はWindows API用であり、単純なアプリには必要ありません。ただし、独自のコンパイル済みプロジェクトのpdbが見つからない場合は、[プロジェクトプロパティ]> [構成プロパティ]> [デバッグ]> [作業ディレクトリ]で[プロジェクトプロパティ]> [構成プロパティ]> [全般]> [出力ディレクトリ].

  3. 「管理者として実行」モードでVisual c ++を実行する必要があります。実行可能ファイルを右クリックし、「管理者として実行」をクリックします。

6
Rajan chawla

私はCUDA/Visual Studioの初心者でもあり、いくつかのサンプルで同じ問題に遭遇しました。 DEBUG-> Start Debuggingを実行し、繰り返しステップオーバー(F10)すると、出力ウィンドウが表示され、データが入力されます。通常の実行では、正常な完了ステータス0x0が返され(確認したとおり)、出力ウィンドウが閉じられます。

3
PaulH

これがVisual Studioで発生した場合は、プロジェクトをクリーンアップして、再度実行します。

ビルド->クリーンソリューション

実行(またはF5)

0
vs2015