示例 adb 程序:adbsamp3
以下样本程序 adbsamp3.c 包含子函数调用的无限递归。
如果运行此程序来完成,那么将导致内存发生故障错误并退出。
int fcnt,gcnt,hcnt;
h(x,y)
int x,y;
{
int hi;
register int hr;
hi = x+1;
hr = x-y+1;
hcnt++;
hj:
f(hr,hi);
}
g(p,q)
int p,q;
{
int gi;
register int gr;
gi = q-p;
gr = q-p+1;
gcnt++;
gj:
h(gr,gi);
}
f(a,b)
int a,b;
{
int fi;
register int fr;
fi = a+2*b;
fr = a+b;
fcnt++;
fj:
g(fr,fi);
}
main()
{
f(1,1);
}使用 cc 命令编译程序以创建 adbsamp3 文件,命令如下:
cc -g adbsamp3.c -o adbsamp3要启动调试会话,请输入:
adb adbsamp3