我想了解符號調試器是如何工作的?什麼是調試符號表以及它如何促進源代碼級調試。我對調試器的場景動作背後一無所知。當我向gcc提供'-g'選項時,實際發生了什麼,寫入目標文件的內容以及如此複雜的內容。如果SO社區可以解釋並指引我獲取更多信息,我會很高興瞭解符號調試器
Q
瞭解符號調試器
0
A
回答
2
符號文件只是所有已定義的全局變量和函數的列表,以及它們從模塊開始的偏移量。它還包含所有結構的列表並描述它們的字段。這樣,當GDB/WinDbg加載時,它能夠查看EIP(當前指令)並將地址映射到(SomeFunc + 0x25)之類的東西。當然,大多數符號也具有編碼的行信息,所以它可以進一步說「SomeFunc + 0x25最接近foo.cpp第57行」。
0
查看DWARF調試規範,深入瞭解gcc生成的所有調試信息以及調試器如何使用它。
相關問題
- 1. 在MSVC++中解釋調試符號6
- 2. 調試(瞭解)什麼是控制器
- 3. JavaScript調試符號
- 4. Windows調試符號
- 5. 瞭解Java無符號數
- 6. 紅寶石 - 瞭解符號
- 7. 瞭解? Java的符號
- 8. 在Erlang中調試符號
- 9. LLVM庫的調試符號?
- 10. 調試符號未加載
- 11. 你能解釋什麼是符號和調試的C++世界中的符號?
- 12. 什麼是反引號符號VS用戶模式調試器
- 13. 試圖瞭解Android的Sax解析器
- 14. 通過Python瞭解符號表
- 15. 符號輸出 - 瞭解錯誤
- 16. 瞭解(符號化)iOS崩潰日誌
- 17. 瞭解cudaMemcpyFromSymbol()的符號參數
- 18. Win32:支持符號服務器的圖形化調試器?
- 19. 無法解析符號'__builtin_va_start'Visual Studio linux遠程調試
- 20. 如何調試PAR Packer符號解析度?
- 21. 當沒有調試符號加載時,gdb如何解釋`main`?
- 22. 除了Zend調試器以外的其他PHP調試器
- 23. 瞭解事件偵聽器來自哪個符號實例?
- 24. 測試宏內是否定義了預處理器符號
- 25. 是否有解析冒號和逗號符號的解析器?
- 26. 試圖瞭解
- 27. 試着瞭解
- 28. 何處瞭解VS調試器'魔法名稱'
- 29. 瞭解調用
- 30. 瞭解回調