首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用-g在Linux上构建OpenSSL进行调试

使用-g在Linux上构建OpenSSL进行调试
EN

Stack Overflow用户
提问于 2012-06-21 07:57:22
回答 3查看 16.9K关注 0票数 9

我有一个来自OpenSSL (特别是SSL_read)的段错误,我想调试它。我认为在这里采取的最好的步骤是自己构建带有调试符号的库,这样我就可以进入函数并查看它正在执行的命令。我不清楚如何a)自己构建这个库,b)破解makefile来给我调试符号。有没有人有使用这个特定的库做这件事的经验,或者有关于这种构建和修改方法的一般指南?

收到此错误:

代码语言:javascript
复制
./config -d
Operating system: x86_64-whatever-linux2
This system (debug-linux-x86_64) is not supported. See file INSTALL for details.

不知道在这里该做什么。操作系统信息:

代码语言:javascript
复制
$ cat /proc/version
Linux version 3.2.0-24-virtual (buildd@yellow) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.31ubuntu5) ) #37-Ubuntu SMP Wed Apr 25 10:17:19 UTC 2012
$ uname -srvio
Linux 3.2.0-24-virtual #37-Ubuntu SMP Wed Apr 25 10:17:19 UTC 2012 x86_64 GNU/Linux
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-06-21 08:22:29

您可以按照前面提到的here的简单说明来构建OpenSSL。为了进行调试构建,在运行./config时添加-d标志,即./config -d [other options]

票数 7
EN

Stack Overflow用户

发布于 2015-08-18 00:24:11

在新版本的OpenSSL上,看起来就像传递给./Configure的标志在编译时直接注入到gcc行中。我刚刚做了./Configure -g linux-x86_64,并成功地在我的构建中获得了调试符号。

票数 4
EN

Stack Overflow用户

发布于 2013-11-26 08:51:53

代码语言:javascript
复制
$ find . -name Makefile | xargs sed -i -e 's#-O3#-g#g'

它修改生成的makefile;它放入-g选项(生成调试符号)而不是优化选项-O3

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

https://stackoverflow.com/questions/11129826

复制
相关文章

相似问题

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