如何打印所有全局變量/局部變量?這在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