GDB调试小白教程

博客 动态
0 195
优雅殿下
优雅殿下 2022-05-07 21:58:55
悬赏:0 积分 收藏

GDB调试小白教程

1.GDB是什么?

想必很多人都用过windows下各种编译器软件的调试功能,例如Visio Studio里面“断点”、“开始调试”、“逐语句”、“逐过程”
image
这些功能在其他的编译器软件里名字可能不同,但功能都大同小异,都是为了能够跟踪程序的执行过程,从而监视程序中感兴趣的变量值等。但是在Linux系统下进行软件开发时,往往是在终端命令行模式下进行的,因此如何在命令行模式下进行程序的调试就是一个问题。此时,GDB闪耀登场。
GDB全称GNU Debugger,GNU调试器,是GNU开源组织发布的一个强大的UNIX下的程序调试工具。GDB是通过一些命令实现“断点”、“开始调试”等功能。

2. 常见功能与命令如下:

命令功能
llist,从第一行开始例出原码。
空格命令同上一句
break设置断点,break 10表示在第10行设置断点,break func表示在函数func()入口处打断点
rrun,运行程序
nnext,单条语句执行
ccontinue,继续运行程序到下一个断点处
pprint,p var 表示打印var的值
bt查看函数堆栈
finish退出当前函数
qquit,退出GDB

3.举例

3.1 测试用程序

#include <iostream>#include <string>int calSum(int num) {    int sum = 0, j;    for(j = 1; j < num; j++) {        sum += j;    }    return sum;}int main(void) {    int i;    long result = 1;    for(i = 1; i <= 10; i++) {        result *= i;    }    std::cout<<"10的阶乘等于" + std::to_string(result) << std::endl;    std::cout<<"1到10的和等于" + std::to_string(calSum(10)) << std::endl;}

3.2 使用截图

image
image

4.参考:

左耳朵耗子陈皓大神的:用GDB调试程序

posted @ 2022-05-07 21:43 云梦士 阅读(0) 评论(0) 编辑 收藏 举报
回帖
    优雅殿下

    优雅殿下 (王者 段位)

    2018 积分 (2)粉丝 (47)源码

    小小码农,大大世界

     

    温馨提示

    亦奇源码

    最新会员