如何打印所有全局变量/局部变量?这在gdb中可能吗?打印所有全局变量/局部变量?
231
A
回答
350
键入info variables
以列出“所有全局和静态变量名称”。
类型info locals
列出“当前堆栈帧的局部变量”(名称和值),包括该函数中的静态变量。
键入info args
以列出“当前堆栈帧的参数”(名称和值)。
17
此外,由于info locals
不显示的参数,你所处的功能,使用
(gdb) info args
例如:
int main(int argc, char *argv[]) {
argc = 6*7; //Break here.
return 0;
}
argc
和argv
不会被info locals
显示。消息将是“没有当地人”。
77
如果你想看到一个调用函数使用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)
相关问题
- 1. JDB打印全局变量
- 2. 打印局部变量
- 3. JS全局变量到局部变量
- 4. PowerShell全局变量局部变量
- 5. 局部变量与全局变量
- 6. 局部变量的全局变量
- 7. R:局部/全局变量
- 8. 全局和局部变量
- 9. 全局和局部变量
- 10. [R局部全局变量
- 11. 使所有变量全局
- 12. JS局部变量全局变化
- 13. 非局部变量和全局变量有什么区别?
- 14. 打印方法中的局部变量
- 15. 在全局变量内部定义全局变量PHP
- 16. 打开全局变量
- 17. 从函数传递局部变量变为全局变量
- 18. 变量全局变量?
- 19. java全局全局变量和用户全局变量
- 20. 全局变量
- 21. 全局变量。
- 22. 全局变量
- 23. 全局变量
- 24. 全局变量
- 25. 全局变量
- 26. 全局变量
- 27. 全局变量
- 28. 全局变量
- 29. 全局变量
- 30. 全局变量
@ KennyTM,在'信息variables'输出静态变量的名称应该是静态的该编译单元内的变量,对吗? – cpuer 2011-06-07 07:09:53
@cpuer:不一定。它只在符号表中显示名称。例如,在Mac上使用gcc时,静态变量'y'在编译时会重命名为'y.1913'。 – kennytm 2011-06-07 07:14:57
@KennyTM,函数内部的静态变量是否与静态变量的外部函数(符号表中)一样存储? – cpuer 2011-06-07 07:20:02