gdb调试

作者: 枯海拾贝 | 来源:发表于2018-10-31 11:38 被阅读0次

1. gcc a.c b.c c.c -o app==>gcc a.c b.c c.c -o app -g

-g:会保留函数名和变量名

2. 启动gdb

  • gdb 可执行程序的名字
  1. gdb app
  2. 给程序传参:set args xxx xxx

3. 查看代码--l/list(默认打开main函数所在文件)

  • 当前文件:
    • l
    • l 行号
    • l 函数名
  • 非当前文件
    • l 文件名:行号
    • l 文件名:函数名
  • 设置显示的行数
    • set listsize n
    • show listsize

4. 断点操作:b/break

  • 设置断点:
    • b 行号
    • b 函数名
    • b 文件名:行号
    • b 文件名:函数名
  • 查看断点
    • i/info b
  • 删除断点
    • d num(断点编号)
    • 删除多个:d num1 num2;d num1-num6
  • 设置断点无效
    • dis num(编号)
  • 断点生效
    • ena num(编号)
  • 设置条件断点
    • b 行号 if 变量==var

4. 调试相关的命令

  • 让gdb跑起来
    • r(run):停在第一个断点的位置
    • start:运行一行,停止
  • 打印变量的值:
    • p 变量名
  • 打印变量的类型:
    • ptype 变量名
  • 变量的自动显示:
    • display 变量名
    • 取消:undisplay 编号
    • 查看display信息:i display
  • 向下单步调试:
    • n(next):不会进入函数体
    • s(step):会进入待函数体内部
    • finish:跳出函数体
  • 从循环体直接跳出:
    • until(不能有断点)
  • 直接设置变量等于某一个值
    • set var 变量名=value
  • 继续运行gdb,停在下一个断点的位置
    • c(continue)
  • 退出gdb:
    • q(quit)

相关文章

  • 2. gdb的使用

    参考链接1. GDB调试2. gdb调试方法3. gdb调试示例 1. 说说 gdb gdb 是一款 UNIX 系...

  • gcc常用命令

    gdb相关 gcc加-g才能使用gdb调试gdb -tui a.out打开调试界面run/stop/continu...

  • GDB调试记录

    gdb attach 15343 # 调试某个进程 GNU gdb (GDB) 7.12Copyrigh...

  • gdb调试基本方法

    gdb调试基本方法 gdb调试常用命令 在GDB中运行程序 断点(BreakPoint) 观察点(WatchPoi...

  • GDB命令

    gdb test 启动gdb调试test可执行文件gdb att 进程名 调试某个进程b [行数]/[函数名...

  • Xcode debug Hotspot(一)——创建Xcode项

    概述 前面安装gdb调试hotspot里面,我记录了自己安装gdb调试hotspot的过程。后来我发现,使用gdb...

  • 【实践】gdb调试golang程序入门及gdb命令列表

    1. 摘要 本文讲解gdb调试GOLANG程序的入门配置,以及gdb命令详解备忘。 2. gdb调试go程序入门...

  • 用gdb调试代码

    title: 用gdb调试代码tags: gdbdate: 2017-08-09 15:09:22 gdb调试 开...

  • PWN入门到放弃

    Linux下的pwn常用到的工具有: gdb:Linux调试中必要用到的 gdb-peda:gdb方便调试的工具,...

  • 使用GDB调试C++程序

    GDB调试利器 GDB, the GNU Project debugger, allows you to see ...

网友评论

      本文标题:gdb调试

      本文链接:https://www.haomeiwen.com/subject/cjfdtqtx.html