首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在libgomp.so中添加调试符号构建gcc

在libgomp.so中添加调试符号构建gcc
EN

Stack Overflow用户
提问于 2019-08-07 10:02:28
回答 1查看 816关注 0票数 0

我正在研究OpenMP的实现细节。我正在尝试查看libgomp.so的源代码。我有gcc的源代码,我知道如何构建它。但是我想在libgomp.so中添加调试符号,这样,下面的命令就会生效。

代码语言:javascript
复制
nm libgomp.so

所以我刚刚生成了用configure构建gcc的Makefile。我认为在libgomp.so中添加调试符号与libgomp目录(gcc的子目录)中的Makefile.inMakefile.am有关。但是文本太长了,而且有太多的标志。我想知道该在哪里修改。请帮我弄清楚。

实际上,我对这个系统还是个新手。我研究过Makefile几次,但Makefile.inMakefile.amconfigure等都是我这次第一次遇到的。

我刚刚在libgomp.info中找到了候选者,有一些环境变量的解释。的确有

* GOMP_DEBUG:: Enable Debugging output

但是我不确定如何使用它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-08 15:21:41

(我没有足够的名气来发表评论,所以我只能把它写成答案。)

我不是这个话题的专家,但是根据nm的文档,它是针对目标文件的。libgomp.so是一个elf文件。您可以使用readelf -s来列出符号。而且你也不一定非得自己编译gcc。你可以在大多数linux发行版上安装libgomp的调试符号(在基于ubuntu的系统及其sudo apt-get install libgomp1-dbg上)。

理解openmp的很大一部分是理解编译器对omp编译指示做了什么,所以你可能想要在你的项目中为openmp启用源代码调试。为此,您可以将gdb指向openmp源代码,或者将openmp源代码与您的项目相关联,这样调试器就可以找到所需的源代码。在我的例子中,gdb在../../../src/libgomp/parallel.c中查找源代码。将源代码与我的可执行文件相关联实际上是有效的,并且让我在IDE中调试时逐步浏览openmp源代码。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57386067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档