2012-10-17 13 views
7

में आयोजित मूल्य के लिए प्रतीकात्मक जानकारी प्राप्त करना मुझे अक्सर प्रोग्राम को डीबग करने के दौरान स्टैक चलने के लिए उपयोगी लगता है और किसी भी उचित ढंग से गठबंधन, सूचक आकार के मूल्य के लिए प्रतीक प्राप्त होता है। मुझे मैन्युअल रूप से ऐसा करने में बीमार हो गया है और इसलिए मैंने एक कमांड लिखने की कोशिश की जो मेरे लिए यह करता है। समस्या यह है कि "सूचना प्रतीक" एक सुविधा चर का उपयोग अपने पैरामीटर के रूप में नहीं करना प्रतीत होता है जब इसका पैरामीटर पॉइंटर ड्रेफरेंस के माध्यम से सेट किया गया था। आईई:जीडीबी सुविधा परिवर्तनीय

(gdb) info symbol 0xb6ca4d28 
[Useful Symbol Information] 
(gdb) set $pointer = $esp 
(gdb) while (*(int*)$pointer != 0xb6ca4d28) 
>set $pointer += 4 
>end 
(gdb) x/x $pointer 
0x6ebee064:  0xb6ca4d28 
(gdb) set $dereferencePointer = *(int *)$pointer 
(gdb) p/x $dereferencePointer 
$103 = 0xb6ca4d28 
(gdb) info symbol $dereferencePointer 
No symbol matches $dereferencePointer. 
(gdb) set $dereferencePointer = 0xb6ca4d28 
(gdb) p/x $dereferencePointer 
$104 = 0xb6ca4d28 
(gdb) info symbol $dereferencePointer 
[Useful symbol information] 
(gdb) 

यह क्यों है? क्या यह एक बग है? क्या ऐसा करने का कोई अलग तरीका है?

धन्यवाद!

ल्यूक

पुनश्च: वेनिला GDB का उपयोग करते हुए सूची से 7.5

अद्यतन:

यह सबसे अधिक संभावना एक बग है।

+1

शायद एक 'जीडीबी' संबंधित मेलिंग सूची पूछने के लिए एक बेहतर जगह हो सकती है। –

+0

अनुवर्ती करने के लिए: एक जीडीबी फ्रीब्स-प्रश्नों के बराबर नहीं मिला, मैंने इस सवाल को सामान्य जीडीबी सूची में पोस्ट किया और अभी तक प्रतिक्रिया प्राप्त नहीं हुई है। अगर मैं करता हूं, तो मैं सवाल अपडेट कर दूंगा। – shroudednight

+0

रिकॉर्ड के लिए, यह 'जीएनयू जीडीबी (जीडीबी) 7.3.50.20111117-सीवीएस-डेबियन' पर ठीक काम करता प्रतीत होता है – Jester

उत्तर

1

बग या नहीं, मैं पी और एक्स कमांड के साथ एक प्रारूप विनिर्देशक का उपयोग करने की सलाह देता हूं। यह हमेशा मेरे लिए काम करता है, और टाइप करने के लिए भी तेज़ है।