मैं डी प्रोजेक्ट स्रोत कोड कोड डीबग करने के लिए जीडीबी का उपयोग कर रहा हूं। मैं के रूप में दिखाया संकलन:कोई स्रोत फ़ाइल main.c. नाम नहीं है जीडीबी ब्रेक पॉइंट सेटिंग
./configure --enable-debug CFLAGS="-g -o0"
make --debug=a
मैं विशिष्ट फ़ाइल पर रोक डिबगिंग करना चाहते हैं। तो जब मैं
(gdb) break main.c:672
का उपयोग करके तोड़ बिंदु निर्धारित इसे कहते हैं:
No source file named main.c.
यहां तक कि जब मैं विशेष समारोह का नाम (main.c फ़ाइल में) को तोड़ने के लिए गुजरती हैं। यह कहता है: इस तरह के कार्य परिभाषित नहीं किया गया है।
मेरी वर्तमान निर्देशिका में यह main.c फ़ाइल है। मैं विंडोज पर सिगविन का उपयोग कर रहा हूँ। जब मैं
(gdb) break main
यह सिग्विन फ़ाइल के मुख्य फ़ंक्शन पर ब्रेक पॉइंट सेट करता है, न कि मेरे स्रोत कोड में।
मैं अपनी पहली समस्या को कैसे ठीक कर सकता हूं?
सिर्फ उत्सुकता, दूसरी समस्या से बचने के लिए, यदि सिग्विन फाइलों और मेरे स्रोत कोड में समान फ़ंक्शन नाम है? लोड डिबगिंग प्रतीकों के लिए
gcc filename.c -g gdb <binary name>
खोजें किया या नहीं:
.libs/slim से प्रतीकों को पढ़ना ... किया गया।यह संदेश दिखाता है, मुझे लगता है कि लोडिंग प्रतीक ठीक है। – arslan
आप पूरी समस्या का स्नैपशॉट पोस्ट कर सकते हैं इसका मतलब है कि आप –
को संकलित कैसे कर रहे हैं, मैंने संकलन जानकारी जोड़ा है, कृपया – arslan