Linux调试器gdb的基本操作

Linux调试器gdb

注意:

  1. gcc/g++编译出来的二进制程序,默认是release版本的,没有调试信息。
  2. 要使用gdb调试,必须在源代码生成二进制程序的时候,加上-g选项,产生调试信息。
  3. 使用gdb调试的程序一定是运行时错误,语法错误会在编译时候报错

 

gdb的使用

与VS中的调试代码对应:

  • gdb   可执行文件   开始调试
  • Ctrl+d或者q            退出gdb
  •  l/list                              显示源代码,每次列10列(VS中可以直接看到)
  • l/list 函数名                   显示函数的源代码(VS中可以直接看到)
  • r/run                              连续运行程序不是单步(对应VS中的F5)
  • n/next                            单条执行(对应VS中的F10逐过程)
  • s/step                            进入函数调用(对应VS中F11逐语句)
  • b/break  行号                 在某行设置断点(对应VS中的F9)
  • b/break  函数名             在某函数开头设置断点(对应VS中的F9)
  • info b/break                   查看断点信息(右击断点查看断点信息)
  • finish                             执行当前函数返回,停下来等待命令
  • p  变量                           打印变量的值(对应VS中监视中输入变量查看值)
  • print(表达式)            打印表达式的值(对应VS中监视中输入表达式查看值)
  • set var                          修改变量的值
  • c/continue                    从当前位置连续而非单步执行程序(对应VS中从当前断点跳到下一个断点F5)
  • d/delete breakpoints   删除所有断点
  • d/delete 断点编号         删除某个断点(对应VS中F9)
  • disable  断点编号         禁用某个断点
  • enable   断点编号         启用某个断点
  • display 变量名              让某个变量常显示(对应VS中监视中输入变量查看值)
  • undisplay                     取消常显示
  • until  行号                     跳至某行
  • bt/breaktrac                 查看各级函数调用及参数
  • info locals                    查看当前栈帧局部变量

参考文献:

https://blog.csdn.net/hansionz/article/details/82633439

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值