जीडीबी में ब्रेकपॉइंट कैसे सेट करें?
(जीडीबी) बी फ़ाइल नाम: linenumber // उदा। बी main.cpp: 100
क्या गर्भपात करने का कोई तरीका है? मुझे याद है कि इसे नियंत्रित करने के लिए एक एनएनवी var है?
मैं इस धारणा के तहत था कि यह डिफ़ॉल्ट रूप से निरस्त हो गया था। सुनिश्चित करें कि आपके पास डीबग संस्करण स्थापित है।
या libdmalloc5 का उपयोग करें:। "सिस्टम के malloc',
realloc के लिए प्रतिस्थापन में ड्रॉप ', calloc',
मुक्त' और अन्य स्मृति प्रबंधन दिनचर्या जबकि कार्यावधि में शक्तिशाली डिबगिंग सुविधाओं विन्यास उपलब्ध कराने के इन सुविधाओं स्मृति रिसाव पर नज़र रखने के रूप में ऐसी बातें शामिल हैं, fence- पोस्ट लिखने का पता लगाने, फ़ाइल/लाइन नंबर रिपोर्टिंग, और आंकड़ों के सामान्य लॉगिंग। "
अपने लिंक आदेश
-L/usr/lib/debug/lib -ldmallocth
gdb को यह जोड़े स्वचालित रूप से नियंत्रण लौट जाना चाहिए जब glibc एक बीच में बंद करें चलाता है।
या आप एसआईजीएबीआरटी के लिए एक सिग्नल हैंडलर सेट कर सकते हैं ताकि स्टैकट्रैक को एफडी (फाइल डिस्क्रिप्टर) में डंप किया जा सके। नीचे, mp_logfile एक फ़ाइल *
void *array[512/sizeof(void *)]; // 100 is just an arbitrary number of backtraces, increase if you want.
size_t size;
size = backtrace (array, 512/sizeof(void *));
backtrace_symbols_fd (array, size, fileno(mp_logfile));
स्रोत
2008-09-30 00:32:00
मुझे लगता है कि इस प्रश्न को विशिष्ट सिस्टम पर निर्भर विभिन्न उत्तरों की आवश्यकता है और यह लिनक्स तक सीमित नहीं है (जैसे ओपनबीएसडी, ओएसएक्स)। Valgrind को बढ़ावा देने के लिए – rwst