1
Q
追蹤程序GDB
A
回答
3
你可以穿上printf
一個斷點,並檢查使用$esp
gdb
不知道垃圾值棧;但在你的情況下printf
碰巧從堆棧中檢索(使用va_args
)一些「未定義」(實際上是「未初始化」,即包含一些先前的垃圾)值。
+0
我想進入printf。我正在閱讀C,並且在一次面試問題中我發現了這個問題,我立即明白這會打印垃圾,但我想用gdb進行調試,以瞭解C程序的後臺進程。 – SamKan 2013-02-19 09:31:19
相關問題
- 1. 奇怪的GDB錯誤無法追蹤
- 2. 在android中的路徑追蹤程序
- 3. 呼叫追蹤Windows驅動程序
- 4. 如何使用gdb追蹤C++中的double free或corruption錯誤
- 5. GDB自動跟蹤
- 6. 如何使用GDB輸出C +程序集跟蹤?
- 7. 遞歸追蹤
- 8. 追蹤葉片
- 9. 跟蹤追蹤錯誤
- 10. gdb:退出程序而不退出gdb
- 11. GDB跟蹤:無當前跟蹤幀
- 12. acts_as_follower訂單追蹤者降序
- 13. 升壓序列化 - 使對象追蹤
- 14. 簡單的光線追蹤教程?
- 15. 如何追蹤多線程軟件?
- 16. 追蹤iOS應用程式用戶
- 17. 流程執行追蹤工具
- 18. 追蹤子進程的死亡
- 19. 如果跑步者在健身追蹤應用程序中步調快速,我該如何追蹤?
- 20. MVC.NET追蹤Partials&Templates
- 21. 追蹤NSTimer發射
- 22. Python光線追蹤
- 23. 2D光線追蹤
- 24. 追蹤不正確
- 25. 如何追蹤NSTouches?
- 26. 追蹤Pthread調用
- 27. 試圖追蹤引導程序懸停效果的來源
- 28. 追蹤原因'應用程序意外退出'閃亮
- 29. 如何追蹤Cocoa應用程序中的分段錯誤?
- 30. 追蹤Android應用程序的舊數據
代碼中沒有垃圾值。如果你調用'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