mckenna@HOPKINS-EECS-BRAVO.ARPA (Michael McKenna) (03/06/85)
I have a problem with gcore and adb. Maybe you can help me.
I first create a file called test.c having these contents:
main()
{
int i;
for (i = 0 ;;) {
sleep(2);
printf("%d\n", i++);
}
}
Then I compile it by typing in
"cc -O -o test test.c".
Then I type
"test &".
So the numbers 0,1,2,... show up on my terminal.
Then I "kill -STOP pid" and "gcore pid".
Now if I "adb test core.pid", I should be able to continue
the process within adb with ":c19". However, I get the response
"no process". What am I doing wrong? Also, can I put the job
back into the background?
I want to figure this out because
I want an easy way to store the state of a long-running background
job when the system is brought down for any reason.mckenna@HOPKINS-EECS-BRAVO.ARPA (Michael McKenna) (03/06/85)
Sorry. Me again. If you want to reach me, I'm mckenna@hopkins . Thanks for your time. Mike McKenna
ron@BRL-TGR.ARPA (Ron Natalie) (03/06/85)
ADB said "no process" it wasn't tracing one. You can't use ":c" on processes that aren't being traced by adb using the ":r" comamnd. Only the parent can trace a process on most versions of UNIX and the child has to initiate the trace. -Ron
ed@mtxinu.UUCP (Ed Gould) (03/22/85)
> Then I "kill -STOP pid" and "gcore pid". > Now if I "adb test core.pid", I should be able to continue > the process within adb with ":c19". However, I get the response > "no process". What am I doing wrong? You can't continue the process because there is no process running to continue. You're doing essentially post-mortem debugging, although you generated the core image in a different way. It's possible, but not easy, to continue *many* processes from core images - it's not possible in general because of considerations like open files. There have been postings in the past of programs to restart such images. -- Ed Gould mt Xinu, 739 Allston Way, Berkeley, CA 94710 USA {ucbvax,decvax}!mtxinu!ed +1 415 644 0146