2012-01-03 91 views
1

在gdb中調試C/C++代碼時,可以使用list命令查看您正在調試的源文件。但是,如果你引入彙編函數並嘗試列出源代碼,gdb就不會看到它。 「信息來源」也只能看到C文件。爲什麼gdb無法看到彙編源文件

我知道我可以反彙編代碼,但我希望看到具有評論等來源。 我已經檢查了對應於程序集源的對象文件,並且源文件的名稱甚至沒有記錄(它是針對C文件的)。

這是行爲設計​​嗎?我錯過了一些標誌?

回答

4

正如編譯器需要標誌來產生調試信息一樣,彙編器也是如此。不知道你在用什麼彙編語言,我不能說你需要什麼標記。

+0

我使用gcc(它執行gnu彙編程序)。我正在使用-g3標誌。 – dbrank0 2012-01-03 17:30:10

+0

gcc有一個-Wa標誌用於將選項傳遞給彙編器;看起來像彙編程序也使用-g來表示調試信息的生成。 – 2012-01-03 18:53:21

+0

謝謝。在x86 gcc上,它實際上也僅僅通過將-g傳遞給gcc(它傳遞給as)來工作。實際上,我在其他工具鏈上玩耍,但是錯誤地認爲這是通用的GNU行爲。 – dbrank0 2012-01-04 08:22:30

相關問題