博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GDB常用命令
阅读量:6422 次
发布时间:2019-06-23

本文共 1375 字,大约阅读时间需要 4 分钟。

 

GDB

Table of Contents

1 GDB

 

1.1 载入程序和core

  • 载入程序 gdb –args ./myprogram arg1 arg2 …
  • 载入core gdb -c core.xxxx ./myprogram
  • 载入core gdb ./myprogram core.xxxx
  • attach进程 gdb -p <pid>

1.2 断点

  • 断点到当前文件某个函数 break <function>
  • 断点到当前文件某行 break <linno>
  • 断点到某个文件位置 break <file>:<function>/<lineno>
  • 断点到某个地址 break <addr>
  • 条件判断 break <breakspec> if <condition>
  • 查看所有断点 info breakpoints
  • 删除所有断点 delete
  • 删除某个断点 delete <break-no>
  • 开启某个断点 enable <break-no>
  • 禁用某个断点 disable <break-no>

对于多线程情况下面,默认断点断到所有线程上。我们也可以break到某个线程上。

  • break <breakspace> [thread <number>] if <condition>

1.3 流程控制

  • 运行 run
  • 继续执行 cont(continue)
  • 单步执行 n(next)
  • 单步进入 s(step)
  • 执行完本函数 finish
  • 查看当前运行状态 info prog

1.4 查看代码

  • 定位源代码目录 dir <source-directory>
  • 查看当前位置代码 list
  • 查看当前文件函数 list <function-name>
  • 查看当前文件某行 list <lineno>
  • 查看其他文件 list <file>:<function></lineno>

1.5 查看变量

  • 查看表达式类型 whatis <expr>
  • 查看变量类型 ptype <var>
  • 查看变量值 print /FMT <var>
  • 查看所有全局和静态变量 info variables
  • 查看内存内容 x/(NUM)(FMT) addr
  • dump内容 dump [OPTION] FILE start end

1.6 堆栈相关

  • 查看当前栈局部变量 info local
  • 查看当前栈调用参数 info args
  • 查看栈调用情况 bt(backtrace)
  • 查看栈调用详细情况 bt full
  • 切换函数栈 frame <frame-id>

1.7 线程相关

  • 查看当前所有线程信息 info threads
  • 切换线程 thread <thread-id>
  • 应用线程命令 thread apply [all|no1 no2 …] command

1.8 汇编相关

  • 查看当前寄存器 info registers
  • 反汇编当前地址 disassemble
  • 反汇编某个函数 disassemble <function>
  • 反汇编某个地址范围 disassemble <addr1> <addr2>
  • 设置汇编格式 set disassembly-flavor [intel/att]

转载于:https://www.cnblogs.com/ztteng/articles/3196981.html

你可能感兴趣的文章
怎么用ChemDraw 15.1 Pro绘制彩色结构
查看>>
如何用几何画板动态演示电饭锅工作原理
查看>>
对ChemDraw Prime 16.0你了解多少
查看>>
一维指针与一位数组的关系(转载\整理)
查看>>
Query DSL for elasticsearch Query
查看>>
关于Assembly.CreateInstance()与Activator.CreateInstance()方法
查看>>
升級 Centos 6.5 的 php 版本
查看>>
后海日记(2)
查看>>
c标准库函数 strcat
查看>>
图算法 单源最短路径 Dijkstra算法(邻接表/邻接矩阵+优先队列STL)
查看>>
区块链技术对未来的影响
查看>>
解决iphone横屏时字体变大问题或者内容大小不一样等...
查看>>
教程-Delphi资源文件(全面分析于使用)
查看>>
问题-百度云同步盘登陆时提示155010错误
查看>>
构建基于分布式SOA架构的统一身份认证体系
查看>>
Java之word导出下载
查看>>
CocoaPods升级安装三方库报错
查看>>
[数]来自亮亮OJ的五道数学题
查看>>
Mysql容器启动失败-解决方案
查看>>
webpy猫腻之session with reloader
查看>>