我正在使用GCC ARM交叉編譯器(arm-none-eabi-*
)並使用專有調試器。調試器可以突出顯示選定源代碼行的結果彙編。使用nm和objdump,我可以看到該二進制文件有多個.debug_*
部分。很顯然,調試器使用這些部分中包含的信息將源代碼行映射到反彙編(反之亦然)。但我想如何。我想知道這些部分包含哪些信息,它們是如何相關的以及如何理解它們。簡而言之,如果我要編寫一個調試器(或者至少可以顯示這些映射的工具:源代碼拆卸,以及每個源代碼行反彙編代碼的數量),我將如何閱讀這些部分並使用它們, 。假設零編譯優化。GCC調試信息
想必有一些文檔描述這些部分的格式?
[DWARF](http://en.wikipedia.org/wiki/DWARF)? – Offirmo 2012-01-02 16:29:44