[lldb-dev] remote debugging from another platform

Carlo Kok ck at remobjects.com
Tue Sep 4 12:38:33 PDT 2012

Op 4-9-2012 21:35, Carlo Kok schreef:
> Op 4-9-2012 16:46, Greg Clayton schreef:
>> On Sep 3, 2012, at 12:32 PM, Carlo Kok <ck at remobjects.com> wrote:
>>> Op 27-8-2012 19:16, Greg Clayton schreef:
>>>> Yes it can, but work is definitely needed. Linux to OSX will work
>>>> because we have the lldb modified "debugserver" binary which can
>>>> debug macosx apps. There is no linux equivalent because the current
>>>> "debugserver" binary was initially made for the Mac only and it isn't
>>>> well orgnanized to be used as a starting point for porting to other
>>>> systems.
>>>> What I would like see happen, is in our Host layer (in
>>>> "lldb/source/Host" and "lldb/include/lldb/Host"), we should have a
>>>> native debug API that is very closely based on
>>>> "lldb/tools/debugserver/source/DNB.h" and name it something like
>>>> "lldb_private::NativeDebug". Once we do this, we can then support
>>>> native debugging on every platform by making a new Process plugin in
>>>> "lldb/source/Plugins/Process" called "Host" which would link against
>>>> the new API in the lldb_private::NativeDebug. We then also have
>>>> classes which implement remote GDB debugging inside lldb:
>>>> lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
>>>> lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
>>> Are there any technical limitations that keep these from working on
>>> windows (the client side of things, not the host)? (I tried to import
>>> it but there are a lot of missing include files which i presume is
>>> just because nobody ever did this and it's just missing defines).
>> We have a host layer in our code that is designed to abstract you from
>> the OS your are running on, though I am sure it is far from perfect.
>> One of the big challenges in making a windows port will be correctly
>> implementing an abstraction layer that makes sense.
>> Does anyone else have any experience and comments for Windows? I seem
>> to remember a few folks working on windows over that past year.
>> Greg Clayton
> There are quite a few places that presume unix (like spawn.h,
> pthread.h); the patch attached has some small tweaks for this but is far
> from complete. Atm I'm stuck with regex.h (completely missing on vc++)
> and a read/write lock primitive (readwritelock.h wants it). Win32
> doesn't seem to have an equivalent.

Hmm rest got cut off.

What I wanted to ask here is, is this the right way to go about this? 
(it's not a proper patch).

Carlo Kok

More information about the lldb-dev mailing list