为什么GDB不创建符号文件?
将多个文件编译为可执行文件时遇到问题。 我对 GCC 的命令是:
gcc -g -o PartitionedHashJoin -O0 -msse4.2 -lm -DNUM_BUCKETS=2 Relations.h Relations.c PartitionedHashJoin.h PartitionedHashJoin.c
GCC 正确编译它,但显然没有创建 DSYM(Mac OS)符号文件。 我尝试删除 SSE 或 -lm 编译器选项,但没有效果。
你们中有人知道如何获取调试符号吗?
谢谢!
更新/编辑: 我会选择嵌入的符号,它不一定是 DSYM 文件,但嵌入的符号似乎也丢失了。 dsymutil 无法在使用上述命令创建的可执行文件中找到它们。
I have a problem when compiling multiple files into an executable.
My command to GCC is:
gcc -g -o PartitionedHashJoin -O0 -msse4.2 -lm -DNUM_BUCKETS=2 Relations.h Relations.c PartitionedHashJoin.h PartitionedHashJoin.c
GCC compiles it correctly, but apparently does not create a DSYM (Mac OS) symbol file.
I tried stripping the SSE or -lm compiler options, but to no effect.
Does anyone of you have an idea how I can get my debug symbols?
Thanks!
Update/Edit:
I'd settle for the embedded symbols, it does not have to be a DSYM file, but the embedded ones seem to be missing, too. dsymutil
is unable to find them in the executable created with the command above.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在其他 Unix 和 Linux 上,gcc 在目标文件内发出调试信息。我不知道 MacOSX 上发生了什么。
On other Unixes and Linux, gcc emit debugging information inside the object files. I don't know what is happening on MacOSX.