打印所有全局变量/局部变量?
本文翻译自:Printing all global variables/local variables?
How can I print all global variables/local variables? 如何打印所有全局变量/局部变量? Is that possible in gdb? 这可能在gdb中吗?
#1楼
参考:https://stackoom.com/question/QGsC/打印所有全局变量-局部变量
#2楼
In addition, since info locals
does not display the arguments to the function you're in, use 此外,由于info locals
不显示您所在函数的参数,因此请使用
(gdb) info args
For example: 例如:
int main(int argc, char *argv[]) {
argc = 6*7; //Break here.
return 0;
}
argc
and argv
won't be shown by info locals
. info locals
不会显示argc
和argv
。 The message will be "No locals." 消息将是“没有当地人”。
Reference: info locals command . 参考: info locals命令 。
#3楼
In case you want to see the local variables of a calling function use select-frame
before info locals
如果您想查看调用函数的局部变量,请在info locals
之前使用select-frame
Eg: 例如:
(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)
#4楼
Type info variables
to list "All global and static variable names". 键入info variables
以列出“所有全局和静态变量名称”。
Type info locals
to list "Local variables of current stack frame" (names and values), including static variables in that function. 键入info locals
以列出“当前堆栈帧的局部变量”(名称和值),包括该函数中的静态变量。
Type info args
to list "Arguments of the current stack frame" (names and values). 键入info args
以列出“当前堆栈帧的参数”(名称和值)。
上一篇: OpenCv(绘图)-线性,圆,椭圆,多边形,文本
下一篇: 因癌症而死的原因竟是每天多喝了几杯它