由于下面的代码不是复制的,所以不保证完全正确,但是我是在linux下测试过的,只是我现在使用的linux上不了网
hello.c
#include <stdio.h>
int power(int x)
{
return x*x;
}
main()
{
printf("Hello world./n");
printf("haha a vi. /n");
int i=0;
for(i=9;i<3;i++)
{
printf("%d /n",power(i));
}
}
$gcc -g -o hello hello.c
此时可以运行./hello参看运行结果
使用gdb调试
$gdb
file hello
run
然后可以使用断点,首先使用list命令查看源文件(gcc编译的-g就是关联了,否则需要指定)
list
回车(多行)
比如在第五行设置断点
break 5
run
此时会断点执行
可以使用next 或 continue继续执行
next是单步 cont则为继续运行知道遇到新的断点
clear 5 (删除上述断点)
cont(continue的缩写)
此时程序会运行结束。
实际中你可以使用多个断点 break 11
和观测变量值 watch i 会出现新旧值的显示
也可以kill命令停止执行当前程序。