如何利用服务器做网站,网线制作工具有哪些,开店装修话做那个网站找工人,wordpress主题博客debug 和 release 在Linux下的默认模式是什么#xff1f; 是release模式 那你怎么证明他就是release版本? 我们知道如果一个程序可以被调试#xff0c;那么它一定是debug版本#xff0c;如果它是release版本#xff0c;它是没法被调试的#xff0c;所以说我们可以来调试一…debug 和 release 在Linux下的默认模式是什么 是release模式 那你怎么证明他就是release版本? 我们知道如果一个程序可以被调试那么它一定是debug版本如果它是release版本它是没法被调试的所以说我们可以来调试一下
在Linux下我们要遇到的调试工具是gdb 使用gdb --v 命令来查看我们是否安装了gdb这个工具 如何调试程序 直接gdb 可执行程序 比如我们生成了一个可执行程序叫mycode 你就直接gdb mycode 就会进入这样一个调试窗口 如果是release 是无法被调试的
使用quit 退出gdb
如何在debug模式下调试程序我们知道Linux 默认的模式是 release的我们首先要把 release 模式变成 debug 在gcc 操作后加上-g 就表示以debug模式编译该程序 这样之后我们在来操作 使用list 查看我们写的代码 使用q 或 quit退出gdb 开始使用gdb
打开gdb: gdb 可执行程序 比如gdb mycode 退出gdb: q 或 quit
调试
显示我们所写的代码 l 指令l 就是 list 的简写从0行开始给代码排序显示l 0: 这里并没有显示完全我们按下 回车 就行了 2. 开始调试类似vs中的f5 在gdb中是run 命令可以简写为r 3. 打断点的操作
比如你想给第19 行打上断点就执行b 19 如何查看我们所打的断点的信息 info b 我们还可以这样打断点b mycode.c:20 查看一下 我们还可以给函数打上断点b mycode.cmain 这就表示直接给main函数所在的位置打上断点 如何删除我们所打上的断点 我们根据断点编号来删除断点之前当我们执行info b 查看断点信息时会出现以下信息 有了断点编号我们要删除断点就直接d 断点编号 比如要删除第3个断点就直接d 3
如何开启断点和 禁用 断点 接下来要说的这个呢兄弟们可能就没怎么见过了啊呃在vs下比如说我在某一行按f9打个断点。然后呢我们可以单击右键就比如说选中这个断点单击右键然后我们可以禁用这个断点然后可以起启用这个断点那么禁用断点。和启用断点也是一个断点的功能那么它和删除断点是有区别的。 禁用断点呢其实就是这个断点啊它还在这儿只不过暂时不起效果。但是删除断点的话那么就代表这个断点就没了打一个断点然后把这个断点呢直接禁用掉意思这个断点还在这儿但这个断点不起作用。 怎样查看断点是开启还是关闭的呢 使用info b 命令我们可以看到
如何关闭断点注意不是删除 disable 断点表号 如何启动断点 enable 断点编号
逐语句和逐过程
逐过程就是不进入函数 逐语句就是要进入函数 我们先来逐过程next 简写为 n 逐语句step 简写为s
我们知道vs中有监视窗口可以方便我们查看变量的值那么gdb中我们该如何查看变量的值呢?
p 指令。如果你想要查看变量i的值就p i 想要查看变量sum 的值就 p sum p i 就可以看到 i 的地址p sum 就可看到sum的地址。 如何一直让我们想观察的变量显示在屏幕上不被我我们后面的指令顶上去 display 指令如果你想一直在屏幕上显示i 你就display i 如何取消一直显示呢 undisplay 指令比如undisplay 编号 这个编号不是断点的编号而是display指令后的那个编号
好了如果我们不想让语句一条一条的执行而是直接到达我们想要的那个地方并且不打断点那该怎么办。 until 指令比如我们想要程序直接到第13行就直接until 13
我们也可以单独的跑完某个函数 我们首先进入要走函数之后直接输入finish 就可以跑完这个函数
我们如何重当前断点直接执行到下一个断点 直接按 c 就行了