2010-02-03 21 views
5

मैं अपने सी ++ कोड में कोई समस्या का पता लगाने की कोशिश कर रहा हूं और डीडीडी को सूर्य मशीन पर डीबग करने के लिए प्रयास कर रहा हूं। मुझे हमारे पास कुछ मानक प्रति स्ट्रिंग का उपयोग करने की आवश्यकता है। लेकिन जब भी डीडीडी एक स्ट्रिंग चर का सामना करता है, तो यह हमेशा खाली होने के रूप में आता है। मैं एक एसजीआई से पहले सीवीडी का उपयोग कर एक ही परेशानी होने याद रखना चाहता हूं।
स्ट्रिंग को हटाने के लिए मेरे कोड को दोबारा लिखने के लिए कुछ और है जो मैं कोशिश/उपयोग कर सकता हूं?तारों के लिए डीडीडी खाता कर सकते हैं?

+2

आप C++ वर्ग 'स्ट्रिंग' या सिर्फ सामान्य रूप में तार मतलब है? –

+0

जीडीबी का क्या संस्करण? – Potatoswatter

उत्तर

1

एक नज़र here

वे एक सहायक समारोह है कि gdb द्वारा इस्तेमाल किया जा सकता को लागू करने से इसे हल है (के रूप में यह gdb का उपयोग करता भी DDD के लिए काम करना चाहिए)

1
p variablename.c_str() 

या

display variablename.c_str() 
0

असल में, आपको एक रैपर फ़ंक्शन बनाना होगा जो आपकी स्ट्रिंग को प्रिंट करता है, इसे स्मृति पता पास करके:

void gs(string &s) { cout << s << endl; } 

और फिर gdb में:

call gs(somevariable) 

Reference

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