GDBを使用して関数にステップインするが、パラメーターにはステップインしない方法
Dec 14 2020
ご存知かもしれませんが、step(s)
コマンドを使用したGDBでは、関数にステップインできます。ただしs
、最初に関数のパラメーターを調べてステップインします。たとえば、次の関数の場合:
foo(bar(1));
足を踏み入れるfoo
にステップ、bar
および、その後にfoo
。パラメータの数が増えるとすぐに、パラメータに足を踏み入れるのは面倒になります。foo
GDBを使用して、直接実行にステップインし、パラメーターへのステップインをスキップすることは可能ですか?
私はブレークポイントを設定できることを知っていますfoo
:)私は他の解決策を探しています。
回答
KamilCuk Dec 14 2020 at 19:30
いくつかの複雑な呼び出しを処理する場合:
printf("%d %d\n", function(), next_function());
私はstep
その行に「行き」、それから一歩踏み込みsi
ます。呼び出された最初の関数にシングルステップします。次に、あなたができるfinish
出るとするsi
次の関数に再び。