
gdb是GNU开源组织发布的一个强大的Linux程序调试工具,比图形化的调试工具更强大,主要来调试C/C++语言程序。
Debug 版本的可执行程序包含调试信息,用于程序员调试程序。
Release 版本的可执行程序往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以方便用户使用。
用gcc/g++编译时,要加上-g选项生成debug版本的可执行程序,否则就无法使用gdb调试了。
r 表示开始run, 如果在运行的过程中发生了错误,比如segmentation fault,可以查看此时的出错源代码:
通过b或者break设置断点,断点的设置可以通过函数名、行号、文件名+函数名、文件名+行号以及偏移量、地址等进行设置。
比如在function Peer_auto_save上设置断点,在peerc的第136行设置断点:
从断点处继续运行
退出gdb
Gdb调试
注意:在Gcc编译选项中一定要加入
–g
退出GDB:quit
或
Ctrl+d
调试过程:
1
查看文件
命令:
(gdb)
l
命令:(gdb)
b
行号
注:到第17行停止,并没有执行17行
3
查看断点情况
info
b
4
运行代码
r
命令:
(gdb)
r
(也可以指定行开始运行,在r后面加上行号)
5
查看变量值
p
命令:(gdb)
p
变量名
6
设置监视点:
watch
z
(变量名)
也可以是复杂的表达式
7
单步运行
命令:(gdb)
n
(逐过程)
8逐步,会进入函数
命令:(gdb)
s
9条件断点
将正常断点转变为条件断点:condition
如:condition
1
i
==
10
只有当满足条件i
==
1时,才会在断点1处暂停
10
恢复程序运行
c
命令:
(gdb)
c
(程序就会运行,如果没有断点,就运行剩下部分,如果有断点,就会运行到下一个断点)
11
去除断点
clear
line_number
clear
filename:line_number
12
help
121
help找出类别
122help从列表中
以上就是关于使用GNU/gdb调试Linux C/C++可执行程序查看出错源代码、设置断点全部的内容,包括:使用GNU/gdb调试Linux C/C++可执行程序查看出错源代码、设置断点、linux入门基础(四)Gdb调试程序、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)