[comp.sys.mac.programmer] How

jbr@key.COM (Jeff Rubin) (10/24/90)

Can anyone tell me (without giving away proprietary information) how
symbolic debuggers like, for instance, THINK C's debugger work internally?
What I'm interested in is how it does the equivalent of the UNIX ptrace
system call.  Does it patch any traps?  Does it use any of the 680x0's
tracing/breakpointing hardware?  I am not asking about the "symbolic"
part but rather the "debugger" part.  How does the debugger get to
become "frontmost" when needed and how does it cause the target application
to become "frontmost"?  What nasty things must an application avoid doing
to not interfere with the debugger?  Is there extra code placed in the
target application only when it is run with the debugger?  I think
you get the idea.

-- Jeff

----------------------------------------------------------------------
jbr@amdahl.key.com
...!amdahl!key!jbr