जवाबों:
info variables
"सभी वैश्विक और स्थिर चर नामों" को सूचीबद्ध करने के लिए टाइप करें।
info locals
उस फ़ंक्शन में स्थिर चर सहित "वर्तमान स्टैक फ्रेम के स्थानीय चर" (नाम और मूल्य) को सूचीबद्ध करने के लिए टाइप करें।
info args
"वर्तमान स्टैक फ्रेम के तर्क" (नाम और मूल्य) को सूचीबद्ध करने के लिए टाइप करें।
y
का y.1913
संकलन पर नाम बदल दिया जाता है।
y
फ़ंक्शन में एक स्थिर चर है foo
और दूसरे y
में है bar
। उन्हें अलग करने के लिए, एक अलग नाम दो को सौंपा जाना चाहिए y
।
यदि आप select-frame
पहले किसी कॉलिंग फंक्शन के स्थानीय वेरिएबल्स का उपयोग करना चाहते हैंinfo locals
उदाहरण के लिए:
(gdb) bt
#0 0xfec3c0b5 in _lwp_kill () from /lib/libc.so.1
#1 0xfec36f39 in thr_kill () from /lib/libc.so.1
#2 0xfebe3603 in raise () from /lib/libc.so.1
#3 0xfebc2961 in abort () from /lib/libc.so.1
#4 0xfebc2bef in _assert_c99 () from /lib/libc.so.1
#5 0x08053260 in main (argc=1, argv=0x8047958) at ber.c:480
(gdb) info locals
No symbol table info available.
(gdb) select-frame 5
(gdb) info locals
i = 28
(gdb)
select-frame
संक्षिप्त रूप में sel
उपयोग किया जा सकता है frame
/ वैकल्पिक रूप से / f
, जो फ्रेम को प्रिंट भी करता है)
इसके अलावा, चूंकि info locals
आप जिस फ़ंक्शन में हैं, उसके लिए तर्कों का उपयोग नहीं करते हैं
(gdb) info args
उदाहरण के लिए:
int main(int argc, char *argv[]) {
argc = 6*7; //Break here.
return 0;
}
argc
और argv
द्वारा नहीं दिखाया जाएगा info locals
। संदेश "स्थानीय नहीं होगा।"
संदर्भ: जानकारी स्थानीय कमांड ।
info variables
उस संकलन इकाई के भीतर स्थिर चर होना चाहिए, है ना?