[lldb-dev] remote debugging from another platform

Greg Clayton gclayton at apple.com
Tue Sep 4 07:46:34 PDT 2012

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

More information about the lldb-dev mailing list