2011-10-27 12 views
0

gdbでは、 "call"コマンドで1つの関数を呼び出すことができますが、どのように関数をステップインできますか?私はプログラムを再起動したくないのですが、関数が実行された後、gdbは次のステートメントを実行します。関数を呼び出す方法はわかりません。gdbで関数を実行した後、どの関数にステップインするか?

答えて

0

gdbはreverse debugging abilityです。 reverse-stepをここで使用して、もう一度関数を実行してください。

+0

(gdb)reverse-step 対象の子はこのコマンドをサポートしていません。 – river

+0

そして、逆のことではなく、どこでもデバッグするために1つの関数にステップインしたいと思います。 – river

+0

関数にブレークポイントを設定し、gdbコマンドラインから呼び出すことができます。あなたはこれを試しましたか? – ks1322

0

状況に応じて、gdbコマンドcallを使用して実行する機能にステップインします。したがって、この関数にbreakpointを設定して実行する必要があります。それは、いつでも機能を踏み出すために私がいつもやっているやり方です。 この関数でステップを実行しないと、関数とそのソースコードに関する情報を格納しているシンボルテーブルに問題があると思います。 -gを使用してテーブルを再コンパイルして、テーブルが正しいことを確認する必要があります。

関連する問題