gdb 调试过程:
// demo.c
#include<stdio.h>
void main1();
void main(){
int a,b,c;
printf("%p, %p, %p\n",&a,&b,&c);
a = 10;
b = 20;
c = 30;
main1();
}
void main1(){
printf("\nthis is main1 func\n");
}
gcc demo.c -o test -g
gdb test
设置断点为main1函数并运行:
b main1 #
r #运行
从main1函数运行,下一步运行第12行的代码,也就是main1函数中的第一行代码。
main1函数之前的代码已经被运行了,显示的结果在之前未运行的之前。
n进行单步调试。
n
gdb调试完成。
输入r可以再次进行调试
b 6 #给第6行设置断点。