工学1号馆

home

GDB程序调试

Wu Yudong    October 21, 2016     Linux/Unix   613   

GDB是GNU发布的一款功能强大的程序调试工具。GDB主要完成下面三个方面的功能:

1、启动被调试程序。
2、让被调试的程序在指定的位置停住。
3、当程序被停住时,可以检查程序状态(如变量值)。

本文地址:http://wuyudong.com/2016/10/21/2858.html,转载请注明出处。

接下来实践一下,vim test.c

#include<studio.h>
int main()
{
    int i;
    long result = 0;
    for(i=0; i<100; i++){
        result+=i;
    }
    printf("result=%d\n",result);
    return 0;
}

你可以按照下面步骤来进行调试:

1. 编译生成可执行文件:
gcc -g test.c -o test

2. 启动GDB
gdb test

3. 在main函数处设置断点
break main

4. 运行程序
run

5. 单步运行
next

6. 继续运行
continue

1、启动GDB

两种方法:

(1) gdb 调试程序名

例:gdb test

(2) gdb

file 调试程序名

2、GDB命令

list(l)  查看程序

break(b) 函数名  在某函数入口处添加断点

break(b) 行号   在指定行添加断点

break(b) 文件名:行号  在指定文件的指定行添加断点

break(b) 行号 if 条件  当条件为真时,指定行号处断点生效,例b 5 if i=10,当i等于10时第5行断点生效

info break  查看所有设置的断点

delete 断点编号   删除断点

run(r)  开始运行程序

next(n)  单步运行程序(不进入子函数)

step(s)  单步运行程序(进入子函数)

continue(c) 继续运行程序

print(p) 变量名  查看指定变量值

finish  运行程序,直到当前函数结束

watch 变量名  对指定变量进行监控

quit(q)  退出gdb

上面的命令都很基础简单,依次敲一遍即可掌握使用方法

如果文章对您有帮助,欢迎点击下方按钮打赏作者

Comments

No comments yet.
To verify that you are human, please fill in "七"(required)