Tidak dapat menemukan atau membuka file PDB di Visual Studio C ++ 2010

117

Saya menggunakan Visual Studio 2010 C ++ dan proyek saya dibangun tanpa kesalahan tetapi ketika saya menjalankannya saya mendapatkan ini. Saya menggunakan 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.

Terima kasih

pengguna1723768
sumber
2
Tidak yakin bahwa ini akan menyelesaikan masalah Anda atau tidak, tetapi masalah saya menyelesaikan Cannot find or open the PDB filemasalah saya di Virtual C ++ 2010 Express. Pergi ke Tools > Options > Debugging > Nativedan periksaLoad DLL Exports
Ari
6
Harap dicatat bahwa lokasi opsi ini telah berubah pada Visual Studio 2015, sekarang di bawahTools > Options > Debugging > General > Load dll exports (Native only)
Remko Duursma

Jawaban:

245

PDB adalah file informasi debug yang digunakan oleh Visual Studio. Ini adalah DLL sistem, yang simbol debugnya tidak Anda miliki. Pergi ke Tools->Options->Debugging->Symbolsdan pilih kotak centang "Microsoft Symbol Servers", Visual Studio akan mengunduh PDB secara otomatis. Atau Anda mungkin mengabaikan peringatan ini jika Anda tidak perlu melihat stack panggilan yang benar dalam modul ini.

Paul
sumber
1
Saya memiliki masalah yang sama saya mencoba menginstal opencv ke VS12. Sepertinya memuat simbol tetapi ketika saya membangun kembali tidak ada perubahan. Apakah Anda punya ide lain mengapa ini terjadi?
Ege
Ini berhasil untuk saya tetapi hanya sebagian. Itu tidak dapat memuat simbol untuk dll yang terkait dengan openCV. Sama seperti @Ege
Ruchir
1
@Ruchir Anda perlu menentukan jalur ke simbol OpenCV dalam dialog itu. Server Simbol Microsoft hanya memiliki simbol untuk Microsoft DLL.
Paul
Terima kasih @Paul. Saya tidak memiliki file PDB terkait OpenCV dan sepertinya untuk mendapatkannya, saya harus menginstal ulang OpenCV menggunakan cmake stackoverflow.com/a/19436870/5022962 . Tidak ingin menginstal ulang OpenCV sekalipun ....
Ruchir
Ini \Users\%Username%\AppData\Local\Temp\SymbolCache\MicrosoftPublicSymbolsadalah lokasi tipikal tempat menyimpan simbol MS yang diunduh. Selama 50 MB D / L untuk proyek saya, VS10 dalam mode "jam pasir" tidak pernah diturunkan oleh Task Manager ke "status tidak merespons".
Laurie Stearn
50

Bekerja dengan VS 2013.
Coba Tools berikut -> Options -> Debugging -> Output Window -> Module Load Messages -> Off

Ini akan menonaktifkan tampilan modul yang dimuat.

Luis Salazar
sumber
6
Ini adalah solusi yang lebih baik karena menghapus baris-baris ini daripada hanya memperbaiki informasi file yang dibongkar PDB. Suara positif.
Mencoba melakukan ini, lingkungan studio visual mengubah lingkungan visualnya :(
Alexander Leon VI
9
Perhatikan bahwa ini bukan solusinya, ini hanya untuk menghindari masalah.
Cary Bondoc
3
@CaryBondoc bergantung pada apa yang Anda lihat sebagai masalah ... jika masalahnya adalah banyak noise yang tidak relevan dalam output dapat membuat informasi aktual terlewatkan, maka metode ini lebih baik, karena metode lain hanya mengubah kualitas kebisingan dengan mengganti Cannot find or open the PDB filedengan Symbols loaded. Akan lebih baik jika hasilnya diberi kode warna atau semacamnya. Tentu saja ada juga risiko melakukan ini dan melupakannya ketika nanti menjadi penting. Begitulah kehidupan seorang programmer.
PeterT
Bagaimana cara menghindari jendela ini? Ketika saya menekan F11 pada metode framework, saya mendapatkan jendela yang mengganggu ini. Saya harus berhati-hati saat menekan F11 atau menekan F10. tolong bantu
M.kazem Akhgary
33

Jawaban oleh Paul benar, saya hanya menempatkan visual untuk dengan mudah sampai di sana.

Pergi ke Tools-> Options-> Debugging-> Symbols

Setel kotak centang yang ditandai merah dan itu akan mengunduh file pdb dari microsoft. Ketika Anda mengatur kotak centang, itu juga akan mengatur jalur default untuk file pdb di kotak edit di bawah, Anda tidak perlu mengubahnya.

masukkan deskripsi gambar di sini

zar
sumber
3
Tangkapan layar sangat membantu!
strarsis
4

Jika Anda memiliki lebih dari satu Proyek di Peta Proyek Anda, gunakan Nama PathFile PDB berkode keras YANG SAMA di semua Sub-Proyek Anda:

Gunakan mis

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

Jangan gunakan mis

$(IntDir)\MyFile.pdb

di semua Sub-Proyek !!!

= Parameter Penyusun / Fd

Ingo
sumber
apa itu "Peta Proyek"?
Wakan Tanka
0

Ini juga dapat terjadi jika Anda tidak memiliki izin Ubah pada direktori cache simbol yang dikonfigurasi di Alat, Opsi, Debugging, Simbol.

EM0
sumber
0

Saya mengalami masalah serupa di mana Visual Studio (2017) mengatakan tidak dapat menemukan file PDB proyek saya. Saya bisa melihat file PDB memang ada di jalur yang benar. Saya harus Membersihkan dan Membangun kembali proyek, kemudian Visual Studio mengenali file PDB dan debugging berfungsi.

jsl4980.dll
sumber
-1

Anda cukup menambahkan jalur .pdb ke direktori kerja VS!

kaya
sumber