जवाबों:
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उस संकलन इकाई के भीतर स्थिर चर होना चाहिए, है ना?