此问题在此处已有答案:
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做同样的事情。
1条答案
按热度按时间fxnxkyjh1#
当你一次编译一个程序时,
clang
实际上是为你运行dsymutil
,它负责创建.dSYM
文件,因此,解决你的问题的方法是分别编译和链接,在这种情况下clang
不会自动调用dsymutil
。检查this SO问题以了解更多详细信息!