The following sample program adbsamp3.c contains an infinite recursion of subfunction calls. If you run this program to completion, it causes a memory fault error and quits.
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); }
Compile the program using the cc command to create the adbsamp3 file with the following command:
cc -g adbsamp3.c -o adbsamp3
To start the debug session, enter:
adb adbsamp3
Example adb Program: adbsamp2.
The adb command.