[lldb-dev] lldb remote protocol

Greg Clayton gclayton at apple.com
Mon Aug 12 11:37:22 PDT 2013


Bug in LLDB. Fixed:

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

PowerPC had little endian marked as its default byte order, which was fixed above. The assert is there to ensure that our tables were correct and it found the bug for us.

Greg


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