这是我的代码的结构
if(someFunction())
{
// Some code
}
Run Code Online (Sandbox Code Playgroud)
当GDB位于上面的第1行时,如果我这样做,someFunction()则0不会执行.
有没有办法告诉GDB在next语句中执行代码?
我可以给你一个解决方法.有一个临时变量int i=0,然后执行if as
if(i==1){
//some code
}
Run Code Online (Sandbox Code Playgroud)
当您使用gdb到达所需位置时.设置i为1使用
set i = 1
Run Code Online (Sandbox Code Playgroud)
然后你的循环将被执行.当然,在循环之后,如果你不想每次执行它,你将不得不重置你.
您可以在 gdb 中的// Some codestop onif语句后跳转到,除非// Some code没有优化掉,请参阅17.2 在不同地址继续。假设您停在if,您可以:
jump +2
Run Code Online (Sandbox Code Playgroud)