9

SSL_readデバッグしたいOpenSSL(具体的には)からのセグメンテーション違反があります。ここで行う最善のステップは、デバッグシンボルを使用してライブラリを自分で構築することです。これにより、関数にステップインして、実行されているコマンドを確認できます。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.

ここで何をすべきかわからない。OS情報:

$ 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
4

3 に答える 3

7

ここに記載されている簡単な手順に従って、OpenSSL を構築できます。デバッグ ビルドを作成するには、-d実行時にフラグを./config追加します./config -d [other options]。OpenSSL の構築については、こちらで詳しく説明しています。

于 2012-06-21T00:22:29.047 に答える
4

OpenSSL の新しいバージョンでは、コンパイル時に ./Configure に渡されたフラグが gcc ラインに直接挿入されるようです。./Configure -g linux-x86_64ビルドでデバッグシンボルを正常に取得しました。

于 2015-08-17T16:24:11.037 に答える
2

通常の構成手順を実行した後、シェルから次の手順を実行します。

$ find . -name Makefile | xargs sed -i -e 's#-O3#-g#g'

生成されたメイクファイルを変更します。最適化オプションの代わりに-O3、オプションを挿入し-gます (デバッグ シンボルを生成します)。

于 2013-11-26T00:51:52.897 に答える