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