gdb调试c、cpp源代码方法步骤

1. 代码举例

//example.c
#include <stdio.h>
  
int addNumbers(int num1, int num2) {
    return num1 + num2;
}

int main() {
    int a = 10;
    int b = 20;
    int sum = addNumbers(a, b);
    printf("The sum is: %d\n", sum);
    return 0;
}

2. 代码编译带上-g

gcc -g -Wall -o example example.c
gdb example

3. gdb运行example可执行文件,如果有参数也不用带上,后面的run的时候再带参数

gdb example //会进入(gdb)交互页面

4. (gdb)交互页面调试源代码

查询断点:(gdb) b  //输入break或者b,表示查询断点
设置断点:(gdb) break 1 //在源代码第1行设置断点,或者简写 b 1
启动程序:(gdb) run //或简写为 r 开始运行,如果有参数 r 后面继续添加参数,多个参数之间空格隔开

单步执行:(gdb) step (进入函数内部) //简写 s
下步执行:(gdb) next (不进入函数内部) //简写 n
查看变量值:(gdb) print variable_name //简写为 (gdb) p variable_name。
继续执行直到下一个断点:(gdb) continue //简写为 (gdb) c

退出GDB:(gdb) quit //简写为 (gdb) q

参考文章:https://blog.csdn.net/alwaysrun/article/details/107721231

posted @   yongfengnice  阅读(61)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
历史上的今天:
2020-07-16 adnroid gradle4.0以后关于arm64-v8a和armeabi-v7a的兼容性处理问题
点击右上角即可分享
微信分享提示