这是我的代码的结构
if(someFunction())
{
// Some code
}
大部分时间都在哪里someFunction()
评估0
当 GDB 在上面的第 1 行时,如果我这样做,next
则// Some code
不会执行。
有没有办法告诉 GDB 执行if
语句中的代码?
我只能建议你一个解决方法。有一个临时变量int i=0
,然后执行 if as
if(i==1){
//some code
}
当您使用 gdb 到达所需位置时。使用设置i
为 1
set i = 1
然后你的循环将被执行。当然,在循环之后,如果您不想每次都执行它,您将不得不重置您。
您可以在 gdb 中// Some code
停止 on 语句后跳转到,除非未优化,请参阅17.2 Continuing at a different Address。假设您停在,您可以:if
// Some code
if
jump +2
0 表示假,所以不会进入 if 循环,使用
if(1)