为什么GDB不创建符号文件?

发布于 2024-12-11 21:06:19 字数 412 浏览 0 评论 0原文

将多个文件编译为可执行文件时遇到问题。 我对 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

眼角的笑意。 2024-12-18 21:06:19

在其他 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文