【问题标题】:Why can't gdb see assembly source files为什么 gdb 看不到汇编源文件
【发布时间】:2012-01-03 16:45:27
【问题描述】:

当你在 gdb 中调试 C/C++ 代码时,你可以使用 list 命令来查看你正在调试的源文件。但是如果你引入汇编函数并尝试列出源代码,gdb 看不到它。 “信息源”也只能看到 C 文件。

我知道我可以反汇编代码,但我想查看带有 cmets 等的源代码。 我已经检查了与汇编源对应的目标文件,并且源文件的名称甚至没有记录在那里(它是针对C文件的)。

这是设计使然吗?我错过了一些标志吗?

【问题讨论】:

    标签: assembly gdb


    【解决方案1】:

    就像编译器需要一个标志来生成调试信息一样,汇编器也是如此。不知道您使用的是什么汇编程序,我无法说出您需要什么标志。

    【讨论】:

    • 我正在使用 gcc(它执行 gnu 汇编程序)。我正在使用 -g3 标志。
    • gcc 有一个 -Wa 标志,用于将选项传递给汇编器;看起来汇编器也使用 -g 来表示调试信息的生成。
    • 谢谢。在 x86 gcc 上,它实际上也可以通过仅将 -g 传递给 gcc(将其传递给 as)来工作。我实际上是在玩其他没有的工具链,但错误地得出结论,这是通用的 GNU 行为。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-11
    • 2020-11-13
    • 1970-01-01
    • 2015-09-11
    相关资源
    最近更新 更多