gdb调试使用教程
2023-09-11 14:19:01 时间
假设当前目录下有5个文件。
文件内容如下:
// add.c int myadd(int a, int b) { return a+b; } // mul.c int mymul(int a, int b) { return a*b; } // div.c int mydiv(int a, int b) { return a/b; } // x.h int myadd(int a, int b); int mymul(int a, int b); int mydiv(int a, int b); // x.c #include <stdio.h> #include "x.h" int main() { int a = 100; int b = 12; int add, mul, div; add = myadd(a, b); mul = mymul(a, b); div = mydiv(a, b); printf("%d + %d = %d\n", a, b, add); printf("%d * %d = %d\n", a, b, mul); printf("%d / %d = %d\n", a, b, div); return 0; }
1. 使用gcc编译文件,注意要加上-g参数。(-g : 在执行代码中包含调试信息)
2. 使用gdb调试可执行文件x,进入调试页面
gdb x
常用命令:
(gdb)list:查看原代码(list-n,从第n行开始查看代码。list+ 函数名:查看具体函数,list main 返回主函数),简写l
(gdb)break+num:在第num行设置断点,简写b。b+函数名,给函数设置断点
(gdb)run:重新开始运行文件, 简写r
(gdb)print:打印值及地址, 简写p
(gdb)next:单步调试(逐过程,函数直接执行),简写n
(gdb)step:单步调试(逐语句:跳入自定义函数内部执行),简写s
(gdb)quit:退出gdb,简写q
相关文章
- php window系统 xdebug+phpstorm 本地断点调试使用教程
- 微信公众号开发系列教程一(调试环境部署续:vs远程调试)
- Go工具和调试详解
- bash 教程-4 shell 脚本 调试 环境 [MD]
- Visual Studio调试里面的F10和F11有什么区别
- 【STM32H7教程】第7章 STM32H7下载和调试方法(IAR8)
- 【STM32H7教程】第5章 STM32H7下载和调试方法(MDK5)
- [Tools] 调试 Android App 接口的方式 (Fiddler/Charles/Wireshark)
- SAP UI5 架设在 http-proxy 库上的单步调试
- SAP UI5 应用开发教程之四十九 - 如何在桌面电脑端调试运行在手机上的 SAP UI5 应用试读版
- 关于 SAP Spartacus Shell App 客户应用的调试
- 微信小程序开发系列教程三:微信小程序的调试方法
- paip.php 配置ZEND DEBUGGER 断点调试for cli..
- 如何远程调试部署在CloudFoundry平台上的nodejs应用
- 关于施加在 div 标签上的 ngTemplateOutlet 指令让 div class 丢失的问题调试
- jasmine fixture.debugElement.query的单步调试
- 会员管理实战教程09-低码中的调试方法
- Qt5 调试之详细日志文件输出(qInstallMessageHandler)
- LabVIEW编程LabVIEW开发如何进行远程调试
- 深入浅出Flask(9):调试H-ui前端框架一点心得
- Jupyter Notebook如何调试?JupyterLab作为DeBug调试工具及调试教程
- 电商小程序实战教程-调试方法
- Idea的debug断点调试