1
Q
追蹤程序GDB
A
回答
3
你可以穿上printf
一個斷點,並檢查使用$esp
gdb
不知道垃圾值棧;但在你的情況下printf
碰巧從堆棧中檢索(使用va_args
)一些「未定義」(實際上是「未初始化」,即包含一些先前的垃圾)值。
+0
我想進入printf。我正在閱讀C,並且在一次面試問題中我發現了這個問題,我立即明白這會打印垃圾,但我想用gdb進行調試,以瞭解C程序的後臺進程。 – SamKan 2013-02-19 09:31:19
相關問題
- 1. 追蹤Wordpress程序
- 2. 奇怪的GDB錯誤無法追蹤
- 3. 在C++代碼中追蹤指針gdb
- 4. gdb -gdbserver跟蹤遠程程序執行
- 5. 在android中的路徑追蹤程序
- 6. 呼叫追蹤Windows驅動程序
- 7. 多線程射線追蹤
- 8. 子進程子追蹤
- 9. 如何使用gdb追蹤C++中的double free或corruption錯誤
- 10. 通過PHP獲取GDB對核心文件的追蹤
- 11. GDB自動跟蹤
- 12. 如何使用GDB輸出C +程序集跟蹤?
- 13. 使用gdb跟蹤外國的android程序或應用程序 - 加載符號?
- 14. 追蹤JSF應用程序中的序列化問題
- 15. gdb:退出程序而不退出gdb
- 16. 跟蹤追蹤錯誤
- 17. 遞歸追蹤
- 18. 保留追蹤
- 19. 追蹤關閉
- 20. 追蹤OutOfMemoryError
- 21. 追蹤葉片
- 22. GDB跟蹤:無當前跟蹤幀
- 23. acts_as_follower訂單追蹤者降序
- 24. 升壓序列化 - 使對象追蹤
- 25. 在Jenkins/Git中設置遠程追蹤
- 26. 流程執行追蹤工具
- 27. 追蹤子進程的死亡
- 28. 簡單的光線追蹤教程?
- 29. 重置遠程追蹤分支
- 30. 追蹤iOS應用程式用戶
代碼中沒有垃圾值。如果你調用'printf(「%d \ n」,x);'帶有未初始化的'int x;''。如果您在編譯時將'-Wall'傳遞給'gcc',則會發出警告。所以我不明白這個問題(你可以用'gdb'在'printf'中放置一個斷點) – 2013-02-19 06:50:36
你想知道在調用'printf'之前「垃圾值」是多少?或者你希望能夠進入'printf'功能? – 2013-02-19 06:51:43
我同意其他人的觀點,您的問題並不完全清楚。你到底想通過使用'gdb'來獲得你無法運行的程序? – NPE 2013-02-19 06:53:11