Visual Studio C ++ 2010 में PDB फ़ाइल ढूंढ या खोल नहीं सकता


117

मैं Visual Studio 2010 C ++ का उपयोग करता हूं और मेरा प्रोजेक्ट त्रुटियों के बिना बनाता है, लेकिन जब मैं इसे चलाता हूं तो मुझे यह मिलता है। मैं विंडोज एक्सपी पर हूं।

'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.

धन्यवाद


2
यकीन नहीं है कि यह आपकी समस्या को हल करेगा या नहीं, लेकिन मेरी Cannot find or open the PDB fileसमस्या ने वर्चुअल सी ++ 2010 एक्सप्रेस पर मेरी समस्या को हल कर दिया है। पर जाएँ Tools > Options > Debugging > Nativeऔर जाँच करेंLoad DLL Exports
अरी

6
कृपया ध्यान दें कि इस विकल्प का स्थान विज़ुअल स्टूडियो 2015 के रूप में बदल गया है, यह अब Tools > Options > Debugging > General > Load dll exports (Native only)
निम्न है

जवाबों:


245

PDB एक डीबग सूचना फ़ाइल है जिसका उपयोग Visual Studio करता है। ये सिस्टम DLL हैं, जिनके लिए आपके पास डीबग प्रतीक नहीं हैं। Tools->Options->Debugging->Symbolsचेकबॉक्स पर जाएं और "Microsoft प्रतीक सर्वर" चुनें, विजुअल स्टूडियो पीडीबी को स्वचालित रूप से डाउनलोड करेगा। या आप इन चेतावनियों को अनदेखा कर सकते हैं यदि आपको इन मॉड्यूल में सही कॉल स्टैक देखने की आवश्यकता नहीं है।


1
मेरे पास वही समस्या है जो मैं वीएस 12 में ओपेंसेव स्थापित करने की कोशिश कर रहा था। यह प्रतीकों को लोड करता हुआ लग रहा था लेकिन जब मैं पुनर्निर्माण करता हूं तो कोई बदलाव नहीं होता है। क्या आपके पास एक और विचार है कि ऐसा क्यों हो रहा है?
ईजी

इसने मेरे लिए काम किया लेकिन केवल आंशिक रूप से। यह OpenCV से संबंधित dll के लिए प्रतीकों को लोड नहीं कर सकता है। @Ege
रुचिर

1
@ रुचिर आपको उस संवाद में OpenCV प्रतीकों को पथ निर्दिष्ट करने की आवश्यकता है। Microsoft प्रतीक सर्वर में केवल Microsoft DLL के प्रतीक होते हैं।
पॉल

साभार @Paul मेरे पास OpenCV से संबंधित PDB फाइलें नहीं हैं और ऐसा लगता है कि उन्हें पाने के लिए मुझे cmc stackoverflow.com/a/19436870/5022962 का उपयोग करके OpenCV को फिर से स्थापित करना होगा । हालांकि OpenCV को फिर से स्थापित नहीं करना है ....
रुचिर

\Users\%Username%\AppData\Local\Temp\SymbolCache\MicrosoftPublicSymbolsठेठ स्थान जहां डाउनलोड किया एमएस प्रतीकों जमा हो जाती है है। हालांकि, मेरी परियोजना के लिए 50 एमबी डी / एल के दौरान, "प्रति घंटा" मोड में वीएस 10 को टास्क मैनेजर द्वारा "जवाब नहीं देने वाली स्थिति" के रूप में कभी भी रद्द नहीं किया गया था।
लॉरी स्टर्न

50

वीएस 2013 के साथ काम करना।
निम्नलिखित उपकरण आज़माएं -> विकल्प -> डिबगिंग -> आउटपुट विंडो -> मॉड्यूल लोड संदेश -> बंद

यह लोड किए गए मॉड्यूल के प्रदर्शन को अक्षम कर देगा।


6
यह बेहतर समाधान है क्योंकि यह पीडीबी अनलोड की गई फाइलों की जानकारी को ठीक करने के बजाय इन लाइनों को हटा देता है। Upvoted।

इसे करने की कोशिश करते हुए दृश्य स्टूडियो वातावरण ने अपने दृश्य वातावरण को बदल दिया :(
सिकंदर लियोन VI

9
ध्यान दें कि यह समाधान नहीं है, यह सिर्फ समस्या से बचा जाता है।
Cary Bondoc

3
@CaryBondoc इस बात पर निर्भर करता है कि आप समस्या को किस रूप में देखते हैं ... यदि समस्या यह है कि आउटपुट में बहुत अधिक अप्रासंगिक शोर वास्तविक जानकारी को याद रखना आसान बना सकता है, तो यह विधि बेहतर है, क्योंकि अन्य विधि सिर्फ गुणवत्ता में बदलाव करती है के Cannot find or open the PDB fileसाथ प्रतिस्थापित करके शोर Symbols loaded। यह अच्छा होगा यदि आउटपुट रंग कोडित या कुछ और था। बेशक ऐसा करने का जोखिम भी है और इसके बारे में भूल जाने पर जब यह बाद में महत्वपूर्ण हो जाता है। ऐसा प्रोग्रामर का जीवन होता है।
पीटर

इस खिड़की को प्राप्त करने से कैसे बचें? जब मैं फ्रेमवर्क विधि पर F11 दबाता हूं तो मुझे यह कष्टप्रद विंडो मिलती है। F11 प्रेस करने या F10 दबाने पर मुझे सावधान रहना होगा। कृपया मदद करें
एमकेज़म अखगीरी

33

पॉल का जवाब सही है, मैं आसानी से वहां पहुंचने के लिए विजुअल लगा रहा हूं।

टूल्स-> विकल्प-> डिबगिंग-> सिंबल पर जाएं

लाल रंग में चिह्नित चेकबॉक्स सेट करें और यह Microsoft से pdb फ़ाइलों को डाउनलोड करेगा। जब आप चेकबॉक्स सेट करते हैं, तो यह संपादन बॉक्स में pdb फ़ाइलों के लिए एक डिफ़ॉल्ट पथ भी निर्धारित करेगा, आपको इसे बदलने की आवश्यकता नहीं है।

यहां छवि विवरण दर्ज करें


3
स्क्रीनशॉट वास्तव में मददगार है!
स्ट्रैसिस

4

यदि आपके प्रोजेक्ट प्रोजेक्ट में एक से अधिक प्रोजेक्ट्स हैं, तो अपने सभी सब-प्रोजेक्ट्स में SAME हार्ड कोडित PathFile PDB नाम का उपयोग करें:

उदाहरण के लिए उपयोग करें

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

जैसे का उपयोग न करें

$(IntDir)\MyFile.pdb

सभी उप-परियोजनाओं में !!!

= कंपाइलर परम / एफडी


"प्रोजेक्ट मैप" क्या है?
वाकण टंका

0

यह तब भी हो सकता है जब आपके पास टूल, विकल्प, डिबगिंग, सिंबल में कॉन्फ़िगर किए गए प्रतीक कैश निर्देशिका पर अनुमतियाँ संशोधित न हों ।


0

मैं एक ऐसी ही समस्या में भाग गया जहाँ विज़ुअल स्टूडियो (2017) ने कहा कि यह मेरी परियोजना की पीडीबी फ़ाइल नहीं खोज सका। मैं देख सकता था कि PDB फ़ाइल सही रास्ते में मौजूद थी। मुझे प्रोजेक्ट को साफ़ और पुनर्निर्माण करना पड़ा, तब विज़ुअल स्टूडियो ने पीडीबी फ़ाइल को मान्यता दी और डीबगिंग ने काम किया।


-1

आप सिर्फ वी.एस. की निर्देशिका के लिए .pdb का पथ जोड़ सकते हैं!

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.