如何告诉 clang 将调试符号放入可执行二进制文件中? [复制]
Posted
技术标签:
【中文标题】如何告诉 clang 将调试符号放入可执行二进制文件中? [复制]【英文标题】:How to tell clang to put debug symbol into executable binaries? [duplicate] 【发布时间】:2017-03-31 15:32:55 【问题描述】:我的编译命令在 macOS Seria 中是clang -std=c11 -g -Wall -Werror -fsanitize=address -file.c -o file
编译后,它还会生成一个额外的 file.dSYM 文件,其中包含所有调试符号。但是,当我使用 WSL 或其他 *nix 系统时,它不会生成这样的文件,调试符号被嵌入到可执行二进制文件中。
所以我只是想知道有没有办法在 macOS 中用 clang 做同样的事情。
【问题讨论】:
【参考方案1】:当你一次编译一个程序时,clang
实际上为你运行dsymutil
,它负责创建.dSYM
文件。因此,您的问题的解决方案是分别编译和链接,在这种情况下clang
不会自动调用dsymutil
。
查看this SO question了解更多详情!
【讨论】:
以上是关于如何告诉 clang 将调试符号放入可执行二进制文件中? [复制]的主要内容,如果未能解决你的问题,请参考以下文章