gdb使用手册

简介: 设置断点和恢复命令常见命令高级命令查看源代码相关命令设置工作环境相关命令查看运行数据相关命令gdb core 使用找段错误gcc -g [option] [file]gdb 可执行文件设置断点和恢复命令1.

gcc -g [option] [file]
gdb 可执行文件

设置断点和恢复命令

1.常见命令

  • l(list):查看载入的文件代码,如:l 10l main
  • b(break):设置断点,如:b 10b main
  • info b:查看断点信息;
  • r(run):从main运行,到断点处暂停;
  • v 行号:从该行号开始运行;
  • p(print) n:查看n值;
  • n(next):单步下行;
  • s(step):单步进入;
  • c(continue):恢复程序的运行,执行下面程序;

2.高级命令

  • disable 点;
  • enable 点;
  • delete 点info编号;
  • tbreak 临时断点(一次);
  • condition 点 <条件>;
  • ignore 点

查看源代码相关命令

  • list(l) <行号>/<函数名>;
  • file [文件名] 加载文件;
  • forword-search 正则表达式;
  • reverse-search 正则表达式;
  • show directories 源文件路径;
  • disassemble 函数名:反汇编;
  • info line 显示加载内存gdb码;

设置工作环境相关命令

  • set args 参数 //main(args)
  • show args
  • path dir 设定程序运行路径
  • show paths 查看程序运行路径
  • set envirnment var[=value] 环境变量
  • show envirnment var/PATH
  • cd dir
  • pwd
  • shell commend

查看运行数据相关命令

  • print(p) 表达式、变量
  • x /<n/f/u> <addr> 查看内存变量内容
    • n:表示显示内存长度(整数)
    • f:表示显示格式
      • d:十进制
      • x:十六进制
      • o:八进制
      • t:二进制
    • u: 表示显示字节数
    • <addr>:变量内存地址
  • display 表达式
    • display /i $pc 显示c和汇编同步
    • x /i $pc 程序计数器

gdb core 使用(找段错误)

  1. 打开core dump
    1. ulimit -c 默认大小为0
    2. ulimit -c size(k)
  2. gcc -g -o 源 目文件
  3. 运行有问题产生的core文件
  4. gdb 可执行文件 core文件

Wu_Being博客声明:本人博客欢迎转载,请标明博客原文和原链接!谢谢!
《gdb使用手册》: http://blog.csdn.net/u014134180/article/details/78309070

Wu_Being 吴兵博客接受赞助费二维码

如果你看完这篇博文,觉得对你有帮助,并且愿意付赞助费,那么我会更有动力写下去。

相关实践学习
阿里云图数据库GDB入门与应用
图数据库(Graph Database,简称GDB)是一种支持Property Graph图模型、用于处理高度连接数据查询与存储的实时、可靠的在线数据库服务。它支持Apache TinkerPop Gremlin查询语言,可以帮您快速构建基于高度连接的数据集的应用程序。GDB非常适合社交网络、欺诈检测、推荐引擎、实时图谱、网络/IT运营这类高度互连数据集的场景。 GDB由阿里云自主研发,具备如下优势: 标准图查询语言:支持属性图,高度兼容Gremlin图查询语言。 高度优化的自研引擎:高度优化的自研图计算层和存储层,云盘多副本保障数据超高可靠,支持ACID事务。 服务高可用:支持高可用实例,节点故障迅速转移,保障业务连续性。 易运维:提供备份恢复、自动升级、监控告警、故障切换等丰富的运维功能,大幅降低运维成本。 产品主页:https://www.aliyun.com/product/gdb
目录
相关文章
|
程序员
程序员的自我修养—链接、装载与库--书签目录PDF
程序员的自我修养—链接、装载与库--书签目录PDF
1491 0
|
2月前
|
缓存 NoSQL Java
Java Web 从入门到精通之苍穹外卖项目实战技巧
本项目为JavaWeb综合实战案例——苍穹外卖系统,涵盖Spring Boot 3、Spring Cloud Alibaba、Vue 3等主流技术栈,涉及用户认证、订单处理、Redis缓存、分布式事务、系统监控及Docker部署等核心功能,助你掌握企业级项目开发全流程。
219 0
|
Linux 数据处理
探索Linux下的readelf命令:深入了解ELF文件
`readelf`是Linux下分析ELF文件的命令行工具,用于查看文件头、节区、符号表等信息。支持可执行文件、共享库等多种类型。常用选项有`-h`(文件头)、`-l`(程序头)、`-S`(节区)、`-s`(符号表)、`-r`(重定位)和`-d`(动态节区)。结合其他工具如`objdump`,能深入理解二进制文件,助力开发和调试。
|
10月前
|
JSON API 数据格式
亚马逊的商品详情API接口,亚马逊的商品详情API接口
亚马逊的商品详情API接口(如Amazon Product Advertising API)允许开发者获取商品的详细信息,包括价格、描述、图片URL等。以下是一个示例的亚马逊的商品详情API接口
|
11月前
|
SQL 数据库
SQL使用视图的优缺点
SQL使用视图的优缺点
331 0
|
NoSQL Shell 程序员
【C/C++ 调试 GDB指南 】GDB调试工具介绍:从基础到高级
【C/C++ 调试 GDB指南 】GDB调试工具介绍:从基础到高级
899 0
|
算法 程序员 开发工具
代码随想录 学习记录(1)
代码随想录 学习记录(1)
440 0
Cache 和 Buffer 有什么区别?
Cache 和 Buffer 有什么区别?
238 0
|
Ubuntu Linux 调度
Linux系统使用cpulimit对CPU使用率进行限制
cpulimit 是一个限制进程的 CPU 使用率的工具(以百分比表示,而不是以 CPU 时间表示)。 当不希望批处理作业占用太多 CPU 时,控制批处理作业很有用。 目标是防止进程运行超过指定的时间比率。 它不会更改 nice 值或其他调度优先级设置,而是更改真实的 CPU 使用率,而且能够动态且快速地适应整个系统负载。 使用的 CPU 数量的控制是通过向进程发送 SIGSTOP 和 SIGCONT POSIX 信号来完成的。 指定进程的所有子进程和线程将共享相同百分比的 CPU。
735 0
Elasticsearch 更新指定字段
讲述Elasticsearch更新索引指定字段操作