जब मैं जावा में कोड लिखता हूं, तो मैं ग्रहण में एम्बेडेड डीबगर का उपयोग करता हूं। इस संदर्भ में किसी ऑब्जेक्ट को विज़ुअलाइज़ करते समय, डीबगर स्वचालित रूप से toString() फ़ंक्शन को कॉल करता है, सुविधा जो मुझे प्रोग्राम स्थिति की खोज करते समय त्वरित विज़ुअलाइज़ेशन के लिए बहुत सुविधाजनक लगता है।सी संरचनाओं के लिए जीडीबी प्रिंट फ़ंक्शन को परिभाषित करना
अब, जब मैं सी में काम करता हूं, तो मैं डीबगिंग के लिए emacs + gdb का उपयोग करता हूं, लेकिन जटिल सी संरचनाओं (यानी एक विशिष्ट प्रिंटिंग फ़ंक्शन को कॉल करने के लिए) को समकक्ष सुविधा खोजने/पुन: बनाने का प्रबंधन नहीं किया गया। बेशक कोई सामान्य toString() विधि नहीं है, लेकिन वैसे भी मैंने अक्सर अपनी संरचनाओं के लिए एक प्रिंटिंग फ़ंक्शन लागू किया है।
लेकिन जब मैं जीडीबी में कुछ विज़ुअलाइज़ करना चाहता हूं, तो मुझे इन मुद्रण कार्यों को मैन्युअल रूप से gdb से p my_print_function(my_struct_pointer)
पर कॉल करना होगा, जो काफी अक्षम है (इसका नाम याद रखना होगा, इसे सही टाइप करें, इसके अलावा मानक आउटपुट दूसरे में हो सकता है विंडोज...)।
बात मैं चाहूँगा gdb कहने के लिए कॉन्फ़िगर करने के लिए "जब struct सूचक प्रकार टी पर gdb प्रिंट समारोह बुला, स्वचालित रूप से उस उपयोगकर्ता परिभाषित मुद्रण समारोह च ... कॉल" है। क्या इसे करने का कोई तरीका है ? अग्रिम में धन्यवाद।
वास्तव में इतना सुविधाजनक नहीं है ... लेकिन शायद सबसे अच्छा मौजूदा समाधान। धन्यवाद। – Hobbes