2014-10-21 12 views
10

मैं कोडब्लॉक्स में सी ++ प्रोजेक्ट डीबग करने का प्रयास कर रहा हूं, लेकिन यह ब्रेकपॉइंट्स पर रोक नहीं रहा है। मैं अन्य उत्तर पढ़ सकते हैं और अब तक निम्नलिखित बातें की कोशिश की है:कोडब्लॉक ब्रेकपॉइंट्स पर नहीं रुकता

  1. (Build Options > Compiler Settings) Produce debugging symbols चेक किया गया है, strip all symbols जांचा गया।
  2. मेरे फ़ाइल पथ में कोई रिक्त स्थान/गैर-असीसी मान नहीं।
  3. डीबग संस्करण चलाना। में
  4. डीबगर (Settings > Compiler > Toolchain Executables) (Settings > Debugger > GDB/CDB Debugger:Default) में GDB/CDB Debugger:Default
  5. निष्पादन पथ पर सेट C:\MinGW\bin\gdb.exe है।

यह अभी भी ब्रेकपॉइंट्स पर रोक नहीं रहा है और डीबगर लॉग का उल्लेख है कि कोई डिबगिंग प्रतीक मुझे क्या याद आ रहा है?

+0

आपको ऑप्टिमाइज़ेशन -ऑ 0 (या शायद -ओ 1) का भी उपयोग करना चाहिए। सत्यापित करें कि फ़ंक्शन कहलाता है या आपके फ़ंक्शन को कॉल करने वाला फ़ंक्शन कहीं कहलाता है। लिंकर सभी अप्रयुक्त कोड मिटा सकता है। – j123b567

+0

@ j123b567: सुझाव के लिए धन्यवाद। मैंने कोशिश की, लेकिन यह मिला - "कंपाइलर चेतावनी: आपके पास डीबगिंग प्रतीक सक्षम हैं। अनुकूलित करने के दौरान यह एक अच्छी बात नहीं है।" इसके अलावा, कोडब्लॉक्स अभी भी ब्रेकपॉइंट्स को अनदेखा कर रहा है। – Stormbringer

+0

क्या आप निष्पादन की शुरुआत से "कदम" पर क्लिक करके अपने कार्य में कदम उठा सकते हैं? क्या आप कोड स्निपेट और हाइलाइट लाइन प्रदान कर सकते हैं जिसे आप तोड़ना चाहते हैं? – j123b567

उत्तर

13

इसे ठीक करने का प्रयास करते समय, मैं ऐसे कई प्रश्नों में आया जहां कोडब्लॉक्स डिबगिंग के दौरान ब्रेकपॉइंट्स को अनदेखा कर रहा है, इसलिए यहां तक ​​कि मेरे द्वारा अभी तक किए गए फ़िक्स हैं।

1. सफाई और पुनर्निर्माण।
2. सुनिश्चित करें कि (बिल्ड विकल्प> कंपाइलर सेटिंग्स) डिबगिंग प्रतीकों का निर्माण किया गया है, सभी प्रतीकों को अनचेक किया गया है। कृपया सुनिश्चित करें कि यह वैश्विक सेटिंग्स और प्रोजेक्ट सेटिंग्स में किया गया है। यह मेरे लिए तय है।
3. जांचें कि प्रोजेक्ट फ़ाइल पथ में कोई रिक्त स्थान/गैर-ASCII मान नहीं हैं।
4. जांचें कि क्या आप डीबग संस्करण चला रहे हैं, रिलीज़ नहीं करते हैं। रिलीज बिल्ड से निष्पादन योग्य \ bin \ release होगा, और डीबग बिल्ड से निष्पादन योग्य \ bin \ Debug में होगा।
5. जांचें कि इसमें डीबगर (सेटिंग्स> कंपाइलर> टूलचेन एक्जिक्यूटिव) जीडीबी/सीडीबी डीबगर पर सेट है: डिफ़ॉल्ट।
6. जांचें कि निष्पादन योग्य पथ (सेटिंग्स> डीबगर> जीडीबी/सीडीबी डीबगर: डिफ़ॉल्ट) वैध जीडीबी पथ (सी: \ मिनजीडब्ल्यू \ bin \ gdb.exe) है।
7. कोडडॉक्स अपडेट करें (अंतिम उपाय)।
कृपया टिप्पणियों में जोड़ें जो आपके लिए काम करता है।

+0

मेरी समस्या यह है कि डीबगर वास्तव में ब्रेकपॉइंट पर बंद हो जाता है लेकिन सी :: बी अभी भी सोच रहा है कि प्रोग्राम चल रहा है, इसलिए यह रुकता नहीं है। क्या आपके पास इसका कोई समाधान है? – Calmarius

2

मैं भी इस समस्या थी, तथापि, यह था एक लंबे समय पहले मैं

सेटिंग> डीबगर> GDB/CDB डीबगर सेट करते हैं क्योंकि> डिफ़ॉल्ट> डीबगर प्रारंभ

आदेश

को "फॉलो-फोर्क-मोड बच्चा सेट करें"

इसलिए जीडीबी वास्तव में एक और प्रोग्राम पूरी तरह से डिबग कर रहा था।

0

केवल एक चीज है जो मेरे लिए काम किया: रिक्त स्थान साथ

पथ यदि पथ/फ़ोल्डर आपके द्वारा किए गए अपने प्रोजेक्ट रिक्त स्थान या अन्य विशेष वर्ण हैं

ब्रेकप्वाइंट काम नहीं कर सकता है। अंग्रेजी अक्षरों, अंकों और '_' का सुरक्षित उपयोग करने के लिए।

स्रोत: Debugging with Code::Blocks

इसके अलावा, आप जाँच कर सकते हैं मेनू: बनाएँ-> फ़ाइल main.o, जो obj/Debug में निहित है को नष्ट करने के बात जो काम किया था मेरे लिए चयन करें target-> डीबग

0

,।

उम्मीद है कि यह किसी की मदद करेगा।

संबंधित मुद्दे