Không thể tìm thấy hoặc mở tệp PDB trong Visual Studio C ++ 2010


117

Tôi sử dụng Visual Studio 2010 C ++ và dự án của tôi xây dựng không có lỗi nhưng khi chạy nó, tôi gặp lỗi này. Tôi đang sử dụng 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.

Cảm ơn


2
Không chắc rằng điều này có giải quyết được vấn đề của bạn hay không, nhưng vấn đề của tôi đã giải quyết được Cannot find or open the PDB filevấn đề của tôi trên Virtual C ++ 2010 Express. Đi đến Tools > Options > Debugging > Nativevà kiểm traLoad DLL Exports
Ari

6
Xin lưu ý rằng vị trí của tùy chọn này đã thay đổi kể từ Visual Studio 2015, nó hiện đang ở dướiTools > Options > Debugging > General > Load dll exports (Native only)
Remko Duursma

Câu trả lời:


245

PDB là một tệp thông tin gỡ lỗi được Visual Studio sử dụng. Đây là các DLL hệ thống mà bạn không có ký hiệu gỡ lỗi. Đi tới Tools->Options->Debugging->Symbolsvà chọn hộp kiểm "Microsoft Symbol Servers", Visual Studio sẽ tự động tải xuống các PDB. Hoặc bạn có thể bỏ qua những cảnh báo này nếu bạn không cần thấy ngăn xếp cuộc gọi chính xác trong các mô-đun này.


1
Tôi gặp vấn đề tương tự khi cố gắng cài đặt opencv thành VS12. Nó dường như tải các biểu tượng nhưng khi tôi xây dựng lại thì không có gì thay đổi. Bạn có ý kiến ​​khác tại sao điều này lại xảy ra không?
Ege

Nó làm việc cho tôi nhưng chỉ một phần. Nó không thể tải các biểu tượng cho các hình nền liên quan đến openCV. Giống như @Ege
Ruchir

1
@Ruchir Bạn cần chỉ định đường dẫn đến các ký hiệu OpenCV trong hộp thoại đó. Máy chủ Biểu tượng của Microsoft chỉ có biểu tượng cho các tệp DLL của Microsoft.
Paul

Cảm ơn @Paul. Tôi không có tệp PDB liên quan đến OpenCV và có vẻ như để nhận được chúng, tôi sẽ phải cài đặt lại OpenCV bằng cmake stackoverflow.com/a/19436870/5022962 . Tuy nhiên, không muốn cài đặt lại OpenCV ....
Ruchir

Đây \Users\%Username%\AppData\Local\Temp\SymbolCache\MicrosoftPublicSymbolslà vị trí điển hình nơi lưu trữ các ký hiệu MS đã tải xuống. Tuy nhiên, trong 50 MB D / L cho dự án của tôi, VS10 ở chế độ "đồng hồ cát" không bao giờ bị Task Manager đưa xuống "trạng thái không phản hồi".
Laurie Stearn

50

Làm việc với VS 2013.
Hãy thử các Công cụ sau -> Tùy chọn -> Gỡ lỗi -> Cửa sổ đầu ra -> Mô-đun tải thông báo -> Tắt

Nó sẽ vô hiệu hóa hiển thị các mô-đun đã tải.


6
Đây là giải pháp tốt hơn vì Nó loại bỏ các dòng này thay vì chỉ sửa thông tin tệp không tải PDB. Đã ủng hộ.

Đang cố gắng để làm điều này môi trường visual studio thay đổi môi trường trực quan của nó :(
Alexander Leon VI

9
Lưu ý rằng đây không phải là giải pháp, nó chỉ tránh vấn đề.
Cary Bondoc

3
@CaryBondoc tùy thuộc vào việc bạn xem vấn đề là gì ... nếu vấn đề là nhiều nhiễu không liên quan trong đầu ra có thể khiến bạn dễ dàng bỏ lỡ thông tin thực tế, thì phương pháp này tốt hơn, vì phương pháp kia chỉ thay đổi chất lượng của nhiễu bằng cách thay thế Cannot find or open the PDB filebằng Symbols loaded. Sẽ rất tuyệt nếu đầu ra được mã hóa màu sắc hoặc một cái gì đó. Tất nhiên cũng có nguy cơ làm điều này và quên nó khi sau này nó trở nên quan trọng. Đó là cuộc sống của một lập trình viên.
PeterT

Làm thế nào để tránh nhận được cửa sổ này? Khi tôi nhấn F11 trên phương pháp khung, tôi nhận được cửa sổ khó chịu này. Tôi phải cẩn thận khi nhấn F11 hoặc nhấn F10. vui lòng giúp đỡ
M.kazem Akhgary 17/02/18

33

Câu trả lời của Paul là đúng, tôi chỉ đang đặt hình ảnh để dễ dàng đạt được điều đó.

Đi tới Công cụ-> Tùy chọn-> Gỡ lỗi-> Biểu tượng

Đặt hộp kiểm được đánh dấu màu đỏ và nó sẽ tải xuống các tệp pdb từ microsoft. Khi bạn đặt hộp kiểm, nó cũng sẽ đặt đường dẫn mặc định cho các tệp pdb trong hộp chỉnh sửa bên dưới, bạn không cần phải thay đổi đường dẫn đó.

nhập mô tả hình ảnh ở đây


3
Ảnh chụp màn hình thực sự hữu ích!
strarsis

4

Nếu bạn có nhiều Dự án trong Bản đồ dự án của mình, hãy sử dụng cùng một Tên PDB PathFile được mã hóa cứng trong tất cả các Dự án con của bạn:

Sử dụng vd

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

Không sử dụng vd

$(IntDir)\MyFile.pdb

trong tất cả các Dự án con !!!

= Thông số biên dịch / Fd


"Bản đồ dự án" là gì?
Wakan Tanka

0

Điều này cũng có thể xảy ra nếu bạn không có quyền Sửa đổi trên thư mục bộ đệm biểu tượng được định cấu hình trong Công cụ, Tùy chọn, Gỡ lỗi, Biểu tượng.


0

Tôi đã gặp sự cố tương tự trong đó Visual Studio (2017) cho biết nó không thể tìm thấy tệp PDB của dự án của tôi. Tôi có thể thấy tệp PDB đã tồn tại trong đường dẫn chính xác. Tôi phải làm sạch và xây dựng lại dự án, sau đó Visual Studio nhận dạng tệp PDB và gỡ lỗi đã hoạt động.


-1

bạn chỉ cần thêm đường dẫn .pdb vào thư mục làm việc của VS!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.