[lldb-dev] Remote Debugging on Linux

Abhishek Aggarwal abhiinnitald at gmail.com
Wed Feb 25 06:00:29 PST 2015


Hi All

Thanks a lot for all the inputs.

@Greg: I could make it work using the lldb-platform. I had checked out
source code of LLDB on Feb 16 and had built (Debug+Asserts) it on Fedora 20
system (x86_64). I will like to make few comments which are inlined.

@Vince: Are you building LLDB for x86_32 Linux ? I tried to build it (Debug
build) for such a system and it fails during linking process because of
lack of memory.
In order to bring up x86_32 support, are you following a different approach
? I read the thread initiated by you "Transitioning to Linux local
debugging via lldb-gdbserver" . Are you using this approach?


On Tue, Feb 24, 2015 at 11:34 PM, Vince Harron <vharron at google.com> wrote:

> It's only really tested on x86_64->x86_64.  We are bringing up x86_32 and
> arm32/64 now-ish, MIPS soon to follow.
>
> Please let us know if you hit any problems!
>
>
> On Tue, Feb 24, 2015 at 3:52 PM, Greg Clayton <gclayton at apple.com> wrote:
>
>> The first way to do this is to use the lldb-platform to allow you to view
>> and launch processes on the remote host.
>>
>> On the remote machine launch lldb-server:
>>
>

> remote.foo.com% lldb-server platform --listen=2000 --stay-alive
>>
>>
I had to replace "lldb-server platform" by "lldb-platform" because right
now, building lldb doesn't generate any binary with name lldb-server.


> Then on your host machine:
>>
>> host.bar.com% lldb
>> (lldb) platform select remote-linux
>> (lldb) platform connect connect://remote.foo.com:2000
>>
>> Now you have a live connection to a platform server on the remote host so
>> you can list existing processes:
>>
>> (lldb) platform process list
>> (lldb) platform process attach --pid ...
>>
>> Or you can launch:
>>
>> (lldb) file /path/to/binary
>> (lldb) process launch -- arg1 arg2
>>
>> The platform will launch a lldb-server to debug your programs on the
>> other system.
>>
>>
This thing worked pretty well.


>
>>
>> The other is to just directly debug a process. In this case we don't go
>> through the platform, we just start lldb-server on
>>
>> remote.foo.com% lldb-server gdbserver host.bar.com:2000 -- arg1 arg2
>>
>>
Again , I replaced "lldb-server gdbserver" by lldb-gdbserver.


> Then attach to it:
>>
>> host.bar.com% lldb
>> (lldb) file /path/to/binary
>> (lldb) process connect connect://remote.foo.com:2000
>>
>>
While running process connect command, I got the following error
       "error: remote connections are not supported"



> Now you will be stopped at the program entry point and ready to debug a
>> single process.
>>
>> All of this is of course using the top of tree SVN sources. It will
>> change a bit if you are using older sources.
>>
>
The above error might be because my source code is old. But I am not sure
given that the source code is 9 days old.


>
>> Greg
>>
>>
>> > On Feb 24, 2015, at 6:09 AM, Abhishek Aggarwal <abhiinnitald at gmail.com>
>> wrote:
>> >
>> > Hi All
>> >
>> > I am new to LLDB. I want to remotely debug some applications. Both the
>> host and target OS is Linux.
>> >
>> > I went through few discussions in this list regarding remote debugging
>> but I am still unclear about how to do it.
>> > I could figure out from the discussions that there are 2 ways to do
>> remote debugging: lldb-platform and lldb-gdbserver
>> >
>> > I don't know which one of them is fully functional for Linux. I would
>> highly appreciate some comments here.
>> >
>> >
>> > Thanks
>> > Abhiinnit
>> > _______________________________________________
>> > lldb-dev mailing list
>> > lldb-dev at cs.uiuc.edu
>> > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
>>
>>
>> _______________________________________________
>> lldb-dev mailing list
>> lldb-dev at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
>>
>
>
>
> --
>
> Vince Harron | Technical Lead Manager | vharron at google.com | 858-442-0868
>

Thanks
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20150225/3f1b4c94/attachment.html>


More information about the lldb-dev mailing list