我的编译命令在macOS中是Seria clang -std=c11 -g -Wall -Werror -fsanitize=address -file.c -o file
在编译之后,它还会生成一个额外的file.dSYM文件,其中包含所有调试sybols。但是,当我使用WSL或其他* nix系统时,它不会生成这样的文件,调试符号被嵌入到可执行二进制文件中。
所以我只是想知道有没有办法在macOS中用clang做同样的事情。
答案 0 :(得分:4)
当您在一次传递中编译程序时,clang
实际上为您运行dsymutil
,它负责创建.dSYM
文件。因此,您的问题的解决方案是单独编译和链接,在这种情况下,clang
不会自动调用dsymutil
。
检查this SO问题以获取更多详情!