0

関数が呼び出される OpenSSL のライブラリでセグメンテーション違反をデバッグしています

s->method->ssl_read(s,buf,num)

動的関数ポインタによって設定されます。それが指すとき、私はそれに足を踏み入れたい

ssl23_read

ただし、ブレークポイントを設定しssl23_readても機能しません。デバッグが動的関数ポインターでどのように機能するかはわかりませんが、答えが「異なる」か「そうでない」かは直感的にわかります。この場合、どのデバッグ戦略を使用しますか?

ちなみに、コールアウトを交換するだけでは機能しないか、少なくとも簡単ではありません.OpenSSLライブラリには、関数を直接呼び出さないようにするためのチェックがいくつかあります.

4

1 に答える 1

0

ssl23_read にブレークポイントを設定しても機能しない

どのように機能しませんか?

GDB がブレークポイントを設定してもブレークポイントが起動しない場合は、

  1. 関数が実際に呼び出されていない、または
  2. GDB にはバグがあり、ブレークポイントが正しく設定されません。

2 の場合は、最新の GDB にバグがまだ存在するかどうかを確認し、バグ レポートを提出してください。回避策として、break * &ssl23_readおそらくブレークポイントを設定して、それ起動するようにします。

于 2012-06-21T21:41:41.020 に答える