2013-04-10 120 views
60

NVIDIA's official siteで提供されているサンプルプログラムを実行しようとしました。私が似たようなエラーメッセージを得る場所を除いて、ほとんどのプログラムは円滑に動いていました。どうすれば修正できますか?ここでは、 "MatrixMul"という名前のプログラムを実行した後のエラーメッセージのサンプルを示します。エラーメッセージ:PDBファイルを見つけることができません。

注:Window32x64 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) 
+0

ただ、ダブルチェックに、それらのメッセージを持つすべてのサンプルはまだ右、正しく実行されましたか?そうでなければ、他にもいくつかのエラーがあり、PDBファイルを読み込むことができないということは、赤ちゃんです。 – alrikai

+0

いいえ、そのようなサンプルはすべて正常に実行されませんでした。私は初心者なので、CUDAのプログラミングにはあまり関係がありません。 – KNU

+0

サンプルにはどのようなコマンドライン出力がありますか?これらのメッセージは致命的なエラーではありません。したがって、サンプルを実行したときにサンプルはどのように出力されましたか?実行可能ファイルがコード0で終了した最後のメッセージが正しいように見えます。 – alrikai

答えて

104

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

ただ、完全を期すために、ここでMSDNからの公式PDBの説明です:

プログラムデータベース(PDB)ファイルは、プログラムのデバッグ構成のインクリメンタルリンクを許可するデバッグとプロジェクト状態情報を保持しています。 PDBファイルは、あなたが/ ZIまたは/ Ziを

C/C++プログラムをコンパイルするとき、あなたがあなた自身のコードのPDBファイルを持つようにしたい場合にも、将来の参考のために、プロジェクトをビルドしなければならないでしょう作成されます/ ZIまたは/ Ziオプションを有効にして(プロジェクトプロパティ - > C/C++ - > Generalを使用して設定できます)、 "Debug Information Format"フィールドを設定します。設定は、デバッグ情報がYesで生成する場合は、あなたの状況に関連するが、私はそれが将来的に役に立つかもしれない考え出しない

+1

"あなたはこれらのdllのいずれにも入ることはできません(あなたはやりたくないでしょう)"待ってください...どうしてですか?どのように優れたものがあるかを理解したい場合はどうすればよいですか? – Andrew

+7

@Andrewこのコメントは、この質問の詳細に向けられています.CUDAサンプルアプリケーションを実行すると、WindowsシステムDLLを理解することは、直交性です – alrikai

+0

私はあなたの手順に従っていますが、まだ1つのエラーが表示されます。 'FaceReg.exe' Win32): 'C:\ Windows \ System32 \ kernel32.dll'をロードしました。シンボルが読み込まれました。 'FaceReg.exe'(Win32): 'C:\ Windows \ System32 \ KernelBase.dll'が読み込まれました。シンボルが読み込まれました。 'FaceReg.exe'(Win32): 'C:\ OpenCV \ opencv \ build \ x86 \ vc12 \ bin \ opencv_core2411d.dll'が読み込まれました。 PDBファイルを見つけたり開くことができません。 'FaceReg.exe'(Win32): 'C:\ Windows \ System32 \ msvcp120d.dll'が読み込まれました。シンボルが読み込まれました。 –

5
  1. 確認してくださいどのプロジェクトPropeties>構成プロパティ]> [リンカ]> [デバッグ]タブの下で。そうでない場合は、Yesに変更してください。

  2. これらのperticular pdb(ntdll.dll、mscoree.dll、kernel32.dllなど)はWindows API用であり、単純なアプリケーションには必要ありません。 しかし、自分のコンパイルされたプロジェクトにpdbが見つからない場合は、プロジェクトプロパティ>構成プロパティ>デバッグ>作業ディレクトリでプロジェクトプロパティ>構成プロパティ>一般>出力ディレクトリの値を使用することをお勧めします。

  3. あなたが実行をクリックして「管理者として実行」をクリックしmode.Right「管理者として実行」でビジュアルC++を実行する必要が

+0

ありがとうございます。私の問題は作業フォルダと出力フォルダでした。 – AlexS

3

私もCUDA /ビジュアルスタジオに初心者だといくつかのサンプルで同じ問題が発生しました。 DEBUG-> Start Debuggingを実行すると、繰り返しステップオーバー(F10)すると出力ウィンドウが表示され、入力されます。通常の実行は正常終了ステータス0x0(あなたが観察した通り)を返し、出力ウィンドウは閉じます。

+0

テストが合格したかどうかを知るために、このプログラムの出力を実際に見たかったので、これは私にとって最も便利でした。実際には、ウィンドウが閉じられる前に実行を停止するようにブレークポイントを設定する必要があることに注意してください。私はmainメソッドの最初の行にブレークポイントを設定します。 –

18

このメッセージが迷惑な場合は、管理者権限でVisual Studioを実行してVisual Studioでこの指示を適用する必要があります。

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

他のすべてのVisual Studioがあなたのためにそれを行うだろう、とあなたが[出力]ウィンドウ にデバッグの下で、このメッセージを持っています「ネイティブ」はコード0(0x0の)で終了した」VS 2013での作業

+2

私はあなたが言ったようにしましたが、今すぐ無効になっているので、すべてのシンボルをロードすることができません。このディレクトリにキャッシュシンボルのブラウザオプションが表示されます。私は何を選ぶべきか分からない。私はビジュアルスタジオ2015を使用しています。 –

30

は、以下のことを試してみてくださいツール - >オプション - >デバッグ - >出力ウィンドウ - >モジュールロードメッセージ - >オフロードされたモジュールの表示を無効にします。

+14

私は人々がなぜこのような答えをdownvoteするのか分かりません。多分それは正確に質問に答えることはできませんでしたが、それは有用な情報です。ちなみに、出力ウィンドウのテキストエリアで右クリックすることもできます。 – Andrew

+0

@ Mike22LFCロードシンボルの問題を解決しますか? – Mavie

0

これがVisual Studioで発生した場合は、プロジェクトをクリーンアップしてもう一度実行してください。

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

ファイル名を指定して実行(またはF5)

関連する問題