Linux试调器-gdb的使用
1.首先查询自己的虚拟机有没有gdb
[weihang@itcast 1Day]$ which gdb
如果现实文件夹所在位置则说明已经安装gdb
如果没有安装使用
[weihang@itcast 1Day]$ sudo yum install gdb -y
2.背景
程序发布的方式有两种,一种是debug一种是release
Linux gcc/g++出来的二进制程序,默认是release模式
要使用gdb试调,必须在源代码生成二进制程序的时候,加上-g选项
3.gdb的使用
gdb binFile退出:Ctrl+d 或者quit
- list/l行号:显示源代码,接着上次的位置往下列,每次显示10行
- list/l函数名:列出某个函数的源代码
- r或run:运行程序(如果程序没有断点,会直接执行完程序)
- n或next:单条执行
- s或step:进入函数调用
- b或break行号:在某一行设置断点
- break 函数名:在某个函数开头设置断点
- i b或info break:查看所有断点
- finish:执行到当前函数返回,然后接下来等待命令
- p或print:打印一个变量的值
- set var 变量==值:修改变量的值
- c或continiu:从当前位置开始直接运行到断点处
- delete breakpoints:删除所有断点
- delete breakpoints n:删除序号为n的断点,i b 可以查看所有断点的序号
- disable breakpoints:禁用断点
- enable breakpoints:启用断点
- display 变量名:跟踪一个变量的值,每次执行都显示这个值得变化
- undisplay:取消对先前设定的那些变量的追踪
- until x行号:跳转到x行
- breaktrace或bt:查看各级函数的调用及参数
- info (i)locals:查看当前栈帧局部变量的值
- quit:退出试调