请指出gdb调试中命令"n"和"s"的区别

发布网友 发布时间:2022-04-23 13:07

我来回答

2个回答

热心网友 时间:2022-04-08 00:04

s: 执行一行源程序代码,如果此行代码中有函数调用,则进入该函数;
n: 执行一行源程序代码,此行代码中的函数调用也一并执行。
s 相当于其它调试器中的“Step Into (单步跟踪进入)”;
n 相当于其它调试器中的“Step Over (单步跟踪)”。
这两个命令必须在有源代码调试信息的情况下才可以使用(GCC编译时使用“-g”参数)。

si命令类似于s命令,ni命令类似于n命令。所不同的是,这两个命令(si/ni)所针对的是汇编指令,而s/n针对的是源代码。

热心网友 时间:2022-04-08 01:22

set 功能较多,简易修改变量时总加上var (gdb) p n $1 = 0 (gdb) set n=5 "on" or "off" expected. (gdb) set var n=5 (gdb) p n $2 = 5

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com