1 分钟
gdb 调试工具
一、使用步骤
1、编译源代码
gcc|g++ 源文件 -o 目标文件 -g-g表示将源代码信息编译到可执行文件中
#c程序
gcc gdb-sample.c -o gdb-sample -g
#c++程序
g++ gdb-sample.cpp -o gdb-sample -g2、进入gdb命令行
gdb
file gdb-sample #加载程序文件二、常用命令
1、加载程序命令
file 源文件名2、运行加载的程序
r3、Continue,继续执行,停到下一个断点
c4、添加断点
(1)b 行号|函数名|*代码地址Breakpoint的简写,设置断点
会产生一个断点标号,从0开始递增
b 行号|函数名|*代码地址(2)d 断点标号 Delete breakpoint删除断点
d 断点标号5、单步进入Step Into(vs F11)
s6、单步跟踪Step Over(vs F10)
n7、汇编的s、n;si、ni
8、输出变量的值
p <变量名称>9、显示各类信息,Info的简写
i10、退出
q11、帮助命令
help [命令名称]三、样例
1、测试源码
gdb-sample.c
#include <stdio.h>
int nGlobalVar = 0;
int tempFunction(int a, int b)
{
printf("tempFunction is called, a = %d, b = %d /n", a, b);
return (a + b);
}
int main()
{
int n;
n = 1;
n++;
n--;
nGlobalVar += 100;
nGlobalVar -= 12;
printf("n = %d, nGlobalVar = %d /n", n, nGlobalVar);
n = tempFunction(1, 2);
printf("n = %d", n);
return 0;
}2、测试命令
gcc gdb-sample.c -o gdb-sample -g
gdb
file gdb-sample
r
b main
r
s
p n
b 26
c
p nGlobalVar
c
p a
p b
c
display /i $pc
r
si
si
d
b *main
r
i r
i r eax
q