【问题标题】:gcc not generating debug filesgcc 不生成调试文件
【发布时间】:2010-01-06 10:43:08
【问题描述】:

我想使用 gcc 和 gdb 编译带有调试信息的应用程序。当我执行以下操作时,会正确生成调试 (.dSYM) 文件:

gcc -ggdb src/test.c -o build/test

但是,如果我将其拆分为编译步骤和链接步骤,如下所示:

gcc -ggdb -c src/test.c -o build/test.o
gcc -ggdb build/test.o -o dist/bin/test

… 根本没有生成.dSYM 文件,因此gdb 不会向我显示发生崩溃的源代码行,这使得调试变得更加困难。由于我有相当多的源文件,因此无法在单个 gcc 调用中编译和链接它们。

在使用单独的编译和链接步骤时,如何让 gcc 生成 .dSYM 文件?

【问题讨论】:

    标签: c debugging gcc gdb


    【解决方案1】:

    查看this post中第一个答案的第二条评论。

    这是一个怪癖。也许您可以手动运行“dsymutil”程序来生成 dSYM 文件。

    【讨论】:

      【解决方案2】:

      您还可以在编译选项中指定 -g3,以便 gcc 将调试符号直接放入二进制文件中,而不是放在单独的文件中。不确定这是否是您需要的。

      【讨论】:

      • 问题,通过添加 -g3 将把所有的调试符号放入 bin 中?这与 .dSYM 中的调试符号相同吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-08
      相关资源
      最近更新 更多