[Jonathon Tidswell <jont@hsa.com.au> writes:]
>As I understood your second paragraph the child(debugged or debuggee) is
>actively participating in the debugging.
>How does this work in the case of serious stuff ups in intialisation code of
>a process that you wish to debug ?
>The problem could equally be shown in the case of a single threaded process
>that is blocking unexpectedly.
Aha, you're the second person to ask, so I'm Cc'ing the list. The child
drops into a client loop inside the kernel; he does not voluntarily
relinquish control. The loop just sends a request to the debugger, and
acts on the response which he gets. The debugger is a classic message
handling loop in user mode, but the client/debugee is all kernel code. He
can be as hosed as he'd like, you can still examine him.
BTW, it looks like the kernel part of ptrace() cost me 2K. It's #ifdef'ed,
so it also can be omitted entirely.
Andy
Received on Thu Dec 9 18:29:27 1993
This archive was generated by hypermail 2.1.8 : Wed Sep 21 2005 - 21:01:53 PDT