[lldb-dev] lldb remote protocol

Greg Clayton gclayton at apple.com
Mon Aug 12 11:42:52 PDT 2013


On Aug 12, 2013, at 12:43 AM, Félix Cloutier <felixcca at yahoo.ca> wrote:

> Well, it didn't take too long to run into issues:
> 
> <- qHostInfo
> -> cputype:18;cpusubtype:9;ostype:unknown;vendor:fclout;endian:big;ptrsize:4
> 
> Assertion failed: (byte_order == m_host_arch.GetByteOrder()), function GetHostInfo, file /Users/felix/Projets/oss/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp, line 1235.
> Abort trap: 6

This is now fixed with:

% svn commit 
Sending        source/Core/ArchSpec.cpp
Transmitting file data .
Committed revision 188189.

> Is that something no one did because it's gonna be hard and deep-reaching or because nobody had a use case for it?

No one has down PowerPC debugging yet. 

> Also, pretty early (shortly after receiving no information for qProcessInfo and qShlibInfoAddr), lldb asks for the 512 bytes located at 0xffff0000. What is it trying to accomplish?

Not sure, enable packet logging with stack traces and you will see who is trying to read this memory. Add the following line to your ~/.lldbinit file:

log enable --file /tmp/packets.txt --stack gdb-remote packets


> 
> That's where I stopped today. I might bug you guys again tomorrow :)
> 
> Félix
> 
> Le 2013-08-11 à 16:04:40, Félix Cloutier <felixcca at yahoo.ca> a écrit :
> 
>> Got it, working on that.
>> 
>> Does QStartNoAckMode also disable checksums? In every example in the file, checksums are #00 (and indeed lldb sends me packets with that same checksum), but there's no mention of that in the document.
>> 
>> Félix
>> 
>> Le 2013-08-10 à 14:49:13, "Malea, Daniel" <daniel.malea at intel.com> a écrit :
>> 
>>> There is a text file in the doc/ directory that explains the LLDB enhancements to the GDB remote protocol.
>>> 
>>> Good luck,
>>> Dan
>>> 
>>> On 2013-08-10, at 5:40 PM, "Félix Cloutier" <felixcca at yahoo.ca> wrote:
>>> 
>>>> I am developing an emulator program and I would like to implement a debugger stub (over TCP) to which I could connect using the remote debugging features of lldb to assist me. GDB documents its communication protocol, but I'm not a fan of how every concern happens at the same level (especially reliability), so I was hoping the LLDB protocol could be more modern.
>>>> 
>>>> Is there documentation for it? The commands seem to be declared in tools/debugserver/source/RNBRemote.h, but I don't expect to implement all of it and I'm not sure what's absolutely necessary and what's not so necessary, and I'm not sure how packets are formed.
>>>> 
>>>> Is this documented anywhere, or is the best way to grab the source and check for myself?
>>>> 
>>>> Félix
>>>> _______________________________________________
>>>> 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





More information about the lldb-dev mailing list