博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GDB 调试程序
阅读量:5284 次
发布时间:2019-06-14

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

1. 初始化

gdb 是对已经编译成功程序到调试, 并且为了保证可执行程序时包含调试信息, 编译时使用 -g 参数来指明

sublimetext ctrl+B 生成到可执行文件不能直接被 gdb 调试

 

2. 暂停程序

gdb 可以实用几种方式来暂停程序: 断点, 观察店, 捕捉点, 信号, 线。 当程序被暂停后, 可以使用 continue, next, step 来继续执行程序

continue 执行到下一个暂停点或程序结束

next 执行下一行代码但进入函数内部

step 执行下一行代码并且进入函数内部

(1)设置断点

  a. break +[源代码行号]

  b. break ... if ... condition ... 比如 break ... if i = 100 来设置循环次数

(2) 设置观察点

  a. watch +[变量][表达式] 当变量或表达式改变时即停住程序

  b. rwatch +[变量][表达式] 当变量或表达式被读时, 停住程序

  c. awatch+[变量][表达式] 当变量或表达式被读写时, 停住程序

2. 查看信息

  (1) 查看数据

    a. print variable 查看变量

 

BTW

1. 列文件清单

  List, 列出源文件, 按 enter 逐渐显示出下面几行

2. 执行程序

  b(break) +[][] 添加断点

  n 开始单步调试

3. 断点操作

  delete index 删除第 index 个断点

  enable index 使第 index 个断点 enable

  disable index 使第 index 个断点 disable

4. 函数调用

  call name 调用并执行一个函数

  call function(1,3)

  call printf("abcd")

 

转载于:https://www.cnblogs.com/xinsheng/p/3484235.html

你可能感兴趣的文章
kill新号专题
查看>>
MVC学习系列——Model验证扩展
查看>>
Suite3.4.7和Keil u3自带fx2.h、fx2regs.h文件的异同
查看>>
打飞机游戏【来源于Crossin的编程教室 http://chuansong.me/account/crossincode 】
查看>>
[LeetCode] Merge Intervals
查看>>
Linux编程简介——gcc
查看>>
2019年春季学期第四周作业
查看>>
CF461B Appleman and Tree
查看>>
CF1215E Marbles
查看>>
axure学习点
查看>>
WPF文本框只允许输入数字[转]
查看>>
dom4j 通用解析器,解析成List<Map<String,Object>>
查看>>
第一个项目--用bootstrap实现美工设计的首页
查看>>
使用XML传递数据
查看>>
TYVJ.1864.[Poetize I]守卫者的挑战(概率DP)
查看>>
0925 韩顺平java视频
查看>>
iOS-程序启动原理和UIApplication
查看>>
mysql 8.0 zip包安装
查看>>
awk 统计
查看>>
模板设计模式的应用
查看>>