In bsd/kern/mach_process.c, in the implementation of ptrace(),
which is the primary API used by GDB and for debugging in XCode,
the process termination is accomplished via PT_KILL, which results
in an (uncatchable) SIGKILL being set to the process.
If the detach is via PT_KILL, rather than PT_DETACH followed by an
explicit SIGTERM, then there would be *NO* additional output to
capture, since SIGKILL is an uncatchable signal (gdb is able to see
a SIGKILL when debugging because it catches the Mach exception
which happens before the SIGKILL is actually delivered, and
potentially modifies the exception to avoid the SIGKILL taking
effect; this is not the same as a process being able to catch its
own SIGKILL).
Maybe one of the tools people can answer this for you; but if so,
the best place to find them is on the "Xcode-users" list, and not
this mailing list.
-- Terry
It does appear to be sending SIGTERM. I created a program that
registered a signal handler on every SIG number and wrote the log to
a file instead of stdout. When Xcode was capturing the output it
didn't show up when I killed the application, but when I wrote it to
a regular FILE* then the SIGTERM showed up.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Unix-porting mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/unix-porting/email@hidden
This email sent to email@hidden