[lldb-dev] MacOSX attaching to process

Benjamin Kemper kemperbenny at gmail.com
Thu Jul 26 03:54:01 PDT 2012


I've been trying to figure out how does the attaching to process works in
OSX, and have some questions regarding it.

>From what I've noticed, the two available "Process" classes are:
1. ProcessGDBRemote
2. ProcessKDP (Which seems to be not supported)

It looks like that ProcessPOSIX isn't included anywhere in OSX classes, so
I'm guessing it is not used in OSX.

So from what I understand, if a user wants to debug a program locally on
the host it goes like this:
1. LLDB creates the debugee using posix_spawn with flag that tells it to
wait until attached.
2. A debug server is launched through an XPC process (to get privileges to
use PTrace?)
3. The debug server attaches to the process that was launched in (1).

Is this scenario correct for "regular" debugging (not remote and attaching
to an already running process)?

Is the use of the debug server only because of the XPC limitiations and
being able to use PTrace?

Thanks in advance,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20120726/72621ab1/attachment.html>

More information about the lldb-dev mailing list