您现在的位置是:首页 > 编程 > 

Linux调试器

2025-07-29 02:33:37
Linux调试器 1.debug VS relese debug模式下形成的可执行程序会给我们添加了调试信息,但是用户并不需要,他们需要更快的下载速度。 relese模式下形成的可执行程序,会去掉调试信息,这样会让release模式下的可执行文件更小。 2.gcc 的默认行为 gcc默认链接时,链接的是动态库 gcc默认编译出来的可执行程序是release模式的,这个模式下的可执行程序是

Linux调试器

1.debug VS relese

debug模式下形成的可执行程序会给我们添加了调试信息,但是用户并不需要,他们需要更快的下载速度。

relese模式下形成的可执行程序,会去掉调试信息,这样会让release模式下的可执行文件更小。

2.gcc 的默认行为

gcc默认链接时,链接的是动态库 gcc默认编译出来的可执行程序是release模式的,这个模式下的可执行程序是无法调试的,

在使用gcc的时候,添加 -g 选项更改编译出来的可执行文件为denug模式


.gdb 的基础操作

.1启动和退出

.2 显示代码 l+行号

因为gdb会自动记录上一行的代码,所以输入l 1 后,继续按回车键就可以往下走了。


.开始跑代码 r 和打断点 b+行号


.4 b 函数名 b file:行号


.5 info b 查看打的断点


.6 d 断点编号 删除断点

.7 disable/enable 断点编号 使能(开启或关闭断点)断点

这里的 n、y就代表着断点是否被启用


.8 n 逐过程 ----- F10 s 逐语句 ----- F11


.9 display 变量名/地址 常显示变量 undisplay 变量名/地址 取消常显示


.10 c 从一个断点跳到另一个断点


.11 finish 将一个函数运行结束,就停下来


.12 until 行号 小范围跳转到指定行 (肯定是程序自动走到指定行)


.1 set var name = val 在不改变代码的情况下,多分支下修改一下变量的值

这个指令有几点注意的:1.必须代码运行起来。2.要改变的变量必须是被定义了 (就是在修改这个变量的时候,程序必须运行过这个变量定义的那条指令了)。


.14 bt 查看调用堆栈

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2024-12-16,如有侵权请联系 cloudcommunity@tencent 删除gdb变量程序调试器linux

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1261333.html

相关标签:无
上传时间: 2025-07-28 08:23:32
留言与评论(共有 14 条评论)
本站网友 豁免
11分钟前 发表
这个模式下的可执行程序是无法调试的
本站网友 上海南方商城
8分钟前 发表
会去掉调试信息
本站网友 什么牌子的奶粉好
16分钟前 发表
继续按回车键就可以往下走了
本站网友 北京现状
26分钟前 发表
分享自作者个人站点/博客
本站网友 木香的功效与作用
10分钟前 发表
多分支下修改一下变量的值 这个指令有几点注意的:1.必须代码运行起来
本站网友 五月性
29分钟前 发表
程序必须运行过这个变量定义的那条指令了)
本站网友 扎针减肥
30分钟前 发表
会去掉调试信息
本站网友 广州商铺招租
19分钟前 发表
分享自作者个人站点/博客
本站网友 深圳个人贷款
22分钟前 发表
在使用gcc的时候
本站网友 桐梓林二手房
15分钟前 发表
如有侵权请联系 cloudcommunity@tencent 删除前往查看gdb变量程序调试器linux
本站网友 65岁退休
14分钟前 发表
链接的是动态库 gcc默认编译出来的可执行程序是release模式的
本站网友 大印象减肥茶
21分钟前 发表
链接的是动态库 gcc默认编译出来的可执行程序是release模式的
本站网友 经期不能吃的食物
21分钟前 发表
.开始跑代码 r 和打断点 b+行号.4 b 函数名 b file:行号.5 info b 查看打的断点.6 d 断点编号 删除断点.7 disable/enable 断点编号 使能(开启或关闭断点)断点 这里的 n