Makefile (2) gdb
2024-10-12 10:21:44
gdb调试
1.用debug的方式编译
-g
2.打上断点
3.单步调试
step into 进入函数里面
step over 运行整个函数
step return 跳出当前函数
4.继续运行
5.打印和监控值
下面是栗子:
#include <stdlib.h>
#include <stdio.h>
static int add(int i) //创建一个函数,循环10次,将传进来的数每次+1
{ for(int k=;k<;k++)
{
i += ;
}
return i;
}
int main(int argc, char const *argv[])
{
int ret;
ret = add(); //调用函数
printf("%d\n",ret);
return ;
}
(1) 编译的时候,带调试编译
gcc test.c -g -o a.out
(2) 用gdb运行
gdb a.out
(3) 打断点
>>1.查看源码
l(ist)
>>2.打断点
b(reak) 函数名
b(reak) 行号
b(reak) 文件名:行号
b(reak) 行号 if条件
>>3.查看断点
info break(i b)
>>4.删除断点
d(elete)
-----------------------------------------------
//1.先用 l 看源码
//2.打断点
//b 7 在第7行打断点
//b add 在函数add打断点
//3.查看断点 i b
//4.删除断点 d <断点号>
(4) 调试
.r(un) 调试
.c(ontinue) 继续
.q(uit) 退出
.n(ext) --step next
.s(tep) --step into
.f(inish) --退出当前函数
.c(ontinue) --把剩下的执行完
(5) 打印值和监控值
. w(atch) x 监控x变量
. p(rint) x 把x值打印出来
(6) 神奇的wi --输入wi
最新文章
- Tomcat调试笔记
- Java五道输出易错题解析(避免小错误)
- Source Insight 基本使用(1)-使用Source Insight查看Android Framework 源码
- XMLHttpRequest 对象
- 一组神奇的 3D Gif 动图
- X-SCAN扫描器插件(MYSQL弱口令以及Mongodb未授权)
- WPF自定义数字输入框控件
- 自定义的string类
- 十、装饰(Decorator)模式 --结构模式(Structural Pattern)
- Acitivity的一些属性配置
- QT工程pro设置实践(with QtCreator)----非弄的像VS一样才顺手?
- 封装一个通过class获取元素的方法--我的JS原生库(1)
- unix时间戳转换成标准时间(c#)
- 高可用Redis(十):Redis原生命令搭建集群
- Vue.js的安装及简单使用
- 在window系统上安装redis服务-Invalid argument during startup: Failed to open the .conf
- Spring 学习笔记(十)渲染 Web 视图 (Apache Tilesa 和 Thymeleaf)
- spring 开发 Tars
- mybatis源码解析10---StatementHandler解析
- Android内核sys_setresuid() Patch提权(CVE-2012-6422)
热门文章
- Hibernate课程 初探一对多映射3-3 单向多对一的测试
- nopcommerce 3.6网银在线支付插件(源码)
- css 引入方式以及css的选择器
- iOS开发之Objective-c的AES256加密和解密算法的实现
- 易客CRM-3.0.4 (OpenLogic CentOS 6.5)
- ansible测试环境
- 常用HTML富文本编辑器
- Gameplay Classes
- 【CCPC-Wannafly Winter Camp Day4 (Div1) F】小小马(分类讨论)
- CentOS 5.6怎么安装MongoDB数据库?