我有一个来自OpenSSL (特别是SSL_read)的段错误,我想调试它。我认为在这里采取的最好的步骤是自己构建带有调试符号的库,这样我就可以进入函数并查看它正在执行的命令。我不清楚如何a)自己构建这个库,b)破解makefile来给我调试符号。有没有人有使用这个特定的库做这件事的经验,或者有关于这种构建和修改方法的一般指南?
收到此错误:
./config -d
Operating system: x86_64-whatever-linux2
This system (debug-linux-x86_64) is not supported. See file INSTALL for details.不知道在这里该做什么。操作系统信息:
$ 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发布于 2012-06-21 08:22:29
您可以按照前面提到的here的简单说明来构建OpenSSL。为了进行调试构建,在运行./config时添加-d标志,即./config -d [other options]。
发布于 2015-08-18 00:24:11
在新版本的OpenSSL上,看起来就像传递给./Configure的标志在编译时直接注入到gcc行中。我刚刚做了./Configure -g linux-x86_64,并成功地在我的构建中获得了调试符号。
发布于 2013-11-26 08:51:53
$ find . -name Makefile | xargs sed -i -e 's#-O3#-g#g'它修改生成的makefile;它放入-g选项(生成调试符号)而不是优化选项-O3。
https://stackoverflow.com/questions/11129826
复制相似问题