gdb 中step,next与finish的区别 step 就是单步执行,遇到子函数就进入并且继续单步执行;在其他调试其中相当于step-into命令,作用是移动到下一个可执行的代码行。如果当前行是一个函数调用,则调试器进入函数并停止在函数体的第一行。step可以帮助初步揭开代码位置的谜团,例如:函数调用和函数本身可能在不同的文件中。
接下来按 next/n/step/s 继续向下执行 next/n :下一个,调用函数就跑 step/s :单步,会进入调用的函数 要注意的是,如果是系统函数,按 s 就出不来了,这时用until+行号直接执行到行号处 进到printf 系统函数出不来的示例 使用until 出来 print/p i 查看 i 变量的值 continue 直接运行到结束 三、其他指令 ...
step:逐步执行,如果可以进入函数内部,就进入函数内部。 step <n>:逐步执行 <n> 行。 next:与 step 用法基本相同,只是不进入函数内部。 变量打印与修改 print :打印某个变量的值。可以加减乘除,比如 print x+1。对于数组 ar,print ar 打印整个数组,用 print ar[2] 或print *(ar+2) 可以查看索引为2的元...
next:(简写 n),单步跟踪程序,当遇到函数调用时,也不进入此函数体;此命令同 step 的主要区别是,step 遇到用户自定义的函数,将步进到函数中去运行,而 next 则直接调用函数,不会进入到函数体内。 step (简写s):单步调试如果有函数调用,则进入函数;与命令n不同,n是不进...
continue (简写c ):继续执行,到下一个断点处(或运行结束) next:(简写 n),单步跟踪程序,当遇到函数调用时,也不进入此函数体;此命令同 step 的主要区别是,step 遇到用户自定义的函数,将步进到函数中去运行,而 next 则直接调用函数,不会进入到函数体内。 step (简写s):单步调试如果有函数调用,则进入函数;与...
next(简写n) : 单步跟踪程序,当遇到函数调用时,也不进入此函数体;此命令同 step 的主要区别是,step 遇到用户自定义的函数,将步进到函数中去运行,而 next 则直接调用函数,不会进入到函数体内。 step (简写s):单步调试如果有函数调用,则进入函数;与命令n不同,n是不进入调用的函数的 ...
next 是 单步步过(step over),即遇到函数直接跳过,不进入函数内部。 step 是 单步步入(step into),即遇到函数会进入函数内部。 5.11 return、finish命令 return 和 finish 都是退出函数,但也有差别: return 命令是立即退出当前函数,剩下的代码不会执行了,return 还可以指定函数的返回值。
step 单步执行. next 但不执行.区别与step在于,step会跟踪到子程序中,而next只在本层单步. until 如果认为最近一些行都没有问题,可以 untill 87, 表示继续执行到87行然后停下来. quit 表示退出gdb. 上面是最基本的命令.据说gdb的功能还很强大.不过有了刚才这些命令,就可以开始上路排错了....
运行run:简记为 r ,其作用是运行程序,当遇到断点后,程序会在断点处停止运行,等待用户输入下一步的命令。 continue (简写c ):继续执行,到下一个断点处(或运行结束) next:(简写 n),单步跟踪程序,当遇到函数调用时,也不进入此函数体;此命令同 step 的主要区别是,step ... ...