Linux命令-gdb

gdb(GNU调试器)是一个功能强大的Unix下的程序调试工具,它允许你查看源代码、设置断点、单步执行代码、查看堆栈跟踪、修改变量的值等。以下是一些常用的gdb命令:

  1. 启动gdb

gdb [可执行文件名]
  1. 列出源代码

    • list 或 l:列出当前位置的源代码
    • list 行号:列出指定行号的源代码
    • list 函数名:列出指定函数的源代码
  2. 设置断点

    • break [文件名:]函数名:在函数处设置断点
    • break [文件名:]行号:在指定行号设置断点
    • break ... if 条件:在满足条件时设置断点
    • tbreak:临时断点,断点只会在第一次达到时触发
  3. 删除断点

    • delete [断点号]:删除指定编号的断点
    • clear [文件名:]函数名 或 clear [文件名:]行号:删除在指定函数或行号的断点
  4. 查看断点

    • info breakpoints:列出所有断点
  5. 执行程序

    • run [参数]:运行程序,并传递参数
    • continue 或 c:继续执行程序,直到遇到断点或程序结束
  6. 单步执行

    • next 或 n:执行下一行代码(不进入函数)
    • step 或 s:执行下一行代码(进入函数)
    • finish:执行到当前函数返回
  7. 查看信息

    • info locals:查看当前栈帧的局部变量
    • info args:查看当前函数的参数
    • info registers:查看寄存器信息
    • info breakpoints:查看断点信息
    • info files:查看被加载的文件
    • info proc:显示被调试程序的系统级信息
  8. 修改变量值

    • print 变量=值:修改变量的值(注意这不会改变程序中的值,只影响gdb的显示)
    • set variable 变量=值:真正修改变量的值(在程序中)
  9. 查看堆栈

    • backtrace 或 bt:查看堆栈跟踪
    • frame [编号]:选择堆栈中的某个帧
    • up:移动到当前栈帧的上一层
    • down:移动到当前栈帧的下一层
  10. 退出gdb

    • quit 或 q:退出gdb
  11. 其他常用命令

    • enable [断点号]:启用指定的断点
    • disable [断点号]:禁用指定的断点
    • kill:发送SIGKILL信号给被调试的程序
    • print [表达式] 或 p [表达式]:打印表达式的值
    • watch [表达式]:当表达式的值改变时停止执行
    • catch [事件]:当某个事件发生时停止执行(如捕获信号)

这些只是gdb的常用命令,它还有许多其他功能和命令。你可以通过gdb的帮助系统(help命令)获取更多信息。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值