c++ 如何告诉clang将调试符号放入可执行二进制文件中?[duplicate]

rbpvctlc  于 2022-11-27  发布在  其他
关注(0)|答案(1)|浏览(75)

此问题在此处已有答案

Why does a 2-stage command-line build with clang not generate a dSYM directory?(1个答案)
五年前就关门了。
我的编译命令在macOS Sierra中是

clang -std=c11 -g -Wall -Werror -fsanitize=address -file.c -o file

编译后,它也会生成一个额外的文件.dSYM文件,其中包含所有的调试符号。但是,当我使用WSL或其他 *nix系统时,它不会生成这样的文件,调试符号被嵌入到可执行的二进制文件中。所以我想知道有没有办法在macOS中用clang做同样的事情。

fxnxkyjh

fxnxkyjh1#

当你一次编译一个程序时,clang实际上是为你运行dsymutil,它负责创建.dSYM文件,因此,解决你的问题的方法是分别编译和链接,在这种情况下clang不会自动调用dsymutil
检查this SO问题以了解更多详细信息!

相关问题