Pertanyaan Mengapa Visual Studio 2010 tidak dapat menemukan / membuka file PDB?


Saya mencoba menggunakan OpenCV di VS 2010. Saya seorang amatir, dan saya sedang mempelajari langkah pertama dari wiki OpenCV. Namun, ketika mencoba untuk mendebug proyek saya, saya mendapatkan kesalahan berikut:

'C: \ Windows \ SysWOW64 \ ntdll.dll', Tidak dapat menemukan atau membuka file PDB   'C: \ Windows \ SysWOW64 \ kernel32.dll', Tidak dapat menemukan atau membuka file PDB   'C: \ Windows \ SysWOW64 \ kernellbase.dll', Tidak dapat menemukan atau membuka file PDB

Saya memiliki file-file itu di direktori yang benar, jadi mengapa tidak bisa membukanya? Apa yang harus saya lakukan untuk memperbaiki masalah ini?


76
2018-01-27 08:03


asal


Jawaban:


Pertama, ubah parameter berikut:

Alat -> Opsi -> Debugging -> Simbol -> Server -> Ya

Lalu tekan Ctrl+F5 dan Anda akan melihat hal-hal menakjubkan.


118
2017-11-15 15:12



Saya sangat yakin itu peringatan, bukan kesalahan. Proyek Anda harus tetap berjalan baik-baik saja.

Namun, karena Anda harus selalu mencoba memperbaiki peringatan kompilator, mari kita lihat apa yang dapat kita temukan. Saya sama sekali tidak akrab dengan OpenCV, dan Anda tidak menautkan ke tutorial wiki yang Anda ikuti. Tetapi tampaknya bagi saya seperti masalahnya adalah Anda menjalankan Windows versi 64-bit (sebagaimana dibuktikan oleh folder "SysWOW64" di jalur ke file DLL), tetapi hal-hal OpenCV yang Anda coba dibangun untuk platform 32-bit. Jadi Anda mungkin perlu membangun kembali proyek menggunakan CMake, seperti yang dijelaskan sini.

Lebih khusus lagi, file yang terdaftar adalah file sistem Windows. File PDB berisi informasi debugging yang digunakan Visual Studio untuk memungkinkan Anda masuk ke dan men-debug kode yang dikompilasi. Anda tidak benar-benar membutuhkan file PDB untuk pustaka sistem untuk dapat men-debug kode Anda sendiri. Tetapi jika Anda mau, Anda bisa unduh simbolnya untuk pustaka sistem juga. Buka menu "Debug", klik "Opsi dan Pengaturan", dan gulir ke bawah listbox di sebelah kanan sampai Anda melihat "Aktifkan dukungan server sumber". Pastikan opsi itu dicentang. Kemudian, di tampilan pohon ke kiri, klik "Simbol", dan pastikan bahwa opsi "Microsoft Symbol Server" dipilih. Klik OK untuk menutup dialog, dan kemudian coba membangun kembali.


20
2018-01-27 08:33



Visual Studio Community Edition 2015

Telah mengalami kesalahan ini sepanjang hari. Saya akhirnya memperbaikinya dengan pergi ke Tools> Import and Export Settings> Reset semua opsi> Reset Pengaturan Umum.

Setelah direset, buka Alat> Opsi> Debugging> Simbol> - Lalu Centang kotak di sebelah Server Simbol Microsoft.

Jalankan aplikasi Anda dalam mode debug, dan itu akan membuka jendela yang mengatakan itu mengunduh Simbol untuk sekelompok file .dll yang berbeda. Biarkan selesai melakukan ini.

Setelah selesai, itu akan berfungsi lagi.


7
2018-04-02 17:33



Saya memiliki masalah yang sama. Ternyata, kompilasi proyek yang saya dapatkan dari orang lain, saya belum menetapkan proyek StartUp yang benar (klik kanan pada proyek startup yang diinginkan dalam explorer solusi dan pilih "set as StartUp Project"). Mungkin ini akan membantu, semangat.


3
2018-02-21 12:51



Untuk VS2013pengguna yang menemukan diri mereka di sini seperti yang saya lakukan:

Tools -> Options -> Debugging -> Symbols

Anda akan melihat bahwa Cache symbols in this directory: bidang kosong; Anda dapat menelusuri / memasuki jalur sendiri atau langsung saja klik saja Load all symbols tombol. Jendela peringatan akan muncul dengan mengatakan "Karena Anda belum memilih direktori simbol-cache, default akan digunakan". Anda sekarang akan melihat C:\Users\XXXX\AppData\Local\Temp\SymbolCache di bidang jalur yang sebelumnya kosong. Klik Load all symbols untuk kedua kalinya dan Anda harus ditetapkan. Hit ok, dan hanya demi ketekunan, bersihkan dan kembalikan solusi Anda.


2
2018-06-01 17:05



Mengacu pada thread pertama / kemungkinan lain VS tidak dapat membuka atau menemukan file pdb dari proses adalah ketika Anda menjalankan eksekusi di latar belakang. Saya bekerja dengan mpiexec dan berlari ke masalah ini. Selalu periksa task manager Anda dan matikan proses exec yang akan Anda buat di proyek Anda. Setelah saya melakukan itu, itu debugged atau dibangun dengan baik.

Juga, jika Anda mencoba untuk melanjutkan dengan peringatan, breakpoints tidak akan dipukul dan itu tidak akan dieksekusi saat ini


1
2017-07-12 22:49



Saya menemukan bahwa kesalahan ini kadang-kadang disebabkan oleh kurangnya izin ketika menyusun proyek - jadi saya menjalankannya sebagai administrator untuk membuatnya berfungsi dengan benar.


0
2018-03-31 15:27



Saya memiliki peringatan yang sama. Saya tidak yakin itu soal 32 vs 64 bit. Hanya memuat simbol-simbol baru dan beberapa masalah diselesaikan, tetapi yang mengenai OpenCV masih tetap ada. Ini adalah ekstrak hasil dengan masalah yang dipecahkan vs yang belum terpecahkan:

'OpenCV_helloworld.exe': Dimuat   'C: \ OpenCV2.2 \ bin \ opencv_imgproc220d.dll', Tidak dapat menemukan atau membuka PDB   mengajukan

'OpenCV_helloworld.exe': Loaded 'C: \ WINDOWS \ system32 \ imm32.dll',   Simbol dimuat (informasi sumber dilucuti).

Kode ini keluar 0 jika seseorang akan bertanya.

Program '[4424] OpenCV_helloworld.exe: Native' telah keluar dengan   kode 0 (0x0).


0
2018-06-25 09:32



Saya memiliki masalah yang sama. Debug tidak berfungsi dengan hal-hal yang datang dengan OpenCV dieksekusi. Anda harus membuat binari Anda sendiri.
Kemudian aktifkan Server Microsoft Symbol dalam opsi Debug-> dan pengaturan-> debug->


0
2017-12-25 15:58



Saya mengalami masalah yang sama. Ketika saya menjalankan Test Unit saya pada kode C ++, saya mendapat kesalahan yang mengatakan "Tidak dapat menemukan atau membuka file PDB".

Log

Ketika saya melihat log Output di Visual Studio, saya melihat bahwa itu terlihat di folder yang salah. Saya telah mengganti nama folder WinUnit, tetapi sesuatu dalam kode WinUnit sedang mencari file PDB menggunakan nama folder lama. Saya kira mereka mengkodekannya dengan keras.

Menemukan Masalahnya

Ketika saya pertama kali mengunduh dan membuka ritsleting file WinUnit, folder utama disebut "WinUnit-1.2.0909.1". Setelah saya membuka ritsleting file, saya mengganti nama folder menjadi "WinUnit" karena lebih mudah untuk mengetikkan selama pengaturan proyek Visual Studio. Tapi ternyata ini memecahkan kemampuan untuk menemukan file PDB, meskipun saya mengatur semuanya sesuai dengan dokumentasi WinUnit.

Perbaiki Saya

Saya mengubah nama folder kembali ke aslinya, dan itu berhasil.

Aneh.


0
2018-05-15 05:55