これは私のコードの構造です
if(someFunction())
{
// Some code
}
whereはほとんどの場合にsomeFunction()評価されます0
GDBが上記の1行目にあるとき、nextそうすると// Some code実行されません。
ifステートメント内のコードを実行するように GDB に指示する方法はありますか?
回避策を提案できます。一時変数int i=0を用意してから、if as を実行します
if(i==1){
//some code
}
gdbで目的の位置に到達したら。iを使用して 1 に設定します。
set i = 1
そして、あなたのループが実行されます。もちろん、ループの後、毎回実行したくない場合は i をリセットする必要があります。
最適化されていない限り、gdb の// Some codeon ステートメントで停止した後にジャンプできます。 17.2 Continueing at a Different Address を参照してください。に立ち寄ったと仮定すると、次のことができます。if// Some codeif
jump +2
0はfalseを意味するため、ifループには入りません。
if(1)