これは私のコードの構造です
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 code
on ステートメントで停止した後にジャンプできます。 17.2 Continueing at a Different Address を参照してください。に立ち寄ったと仮定すると、次のことができます。if
// Some code
if
jump +2
0はfalseを意味するため、ifループには入りません。
if(1)