[lldb-dev] Remote Non-Stop Mode

Ewan Crawford ewan at codeplay.com
Tue May 19 07:13:52 PDT 2015


Hi Pavel,

Glad to hear there's demand for it, I'll cc you into the patches.

Switching to non-stop during a session I don't think would be too hard 
once we've got it working. As all the packoet handling will be there, 
and we'd just need t add a way to send a QNonStop packet when switching.
It might howeveruncover some bugs in the stepping logic which could be 
tricky to track down.

Cheers,
  Ewan

On 19/05/2015 12:12, Pavel Labath wrote:
> Hello Ewan,
>
> this is exciting, I have been missing non-stop mode support in LLDB
> for a while now. I can probably help with implementing the LLGS side
> of things once you get your code through. Could you cc me in on the
> patches so I can follow this more closely?
>
> PS: The thing that has annoyed me most about gdb non-stop mode is that
> it's value is basically locked once you start debugging. I often
> realize I want to use this mode once I have started the process, or
> want to switch to non-stop mode partway through the session, so I
> would really like it mode could be switched at will. Do you have any
> idea how difficult it would be to implement something like this?
>
> cheers,
> pl
>
>
>
> On 19 May 2015 at 09:52, Ewan Crawford <ewan at codeplay.com> wrote:
>> Hi everybody,
>>
>> We have implemented remote support for non-stop mode in a local Hexagon repo
>> of LLDB and begun to upstream the work, see http://reviews.llvm.org/D9656.
>> Non-Stop mode in a remote stub lets you examine a single stopped thread
>> while others execute normally. This isn't currently a feature of llgs, but
>> is of gdbserver and can be tested on x86.
>>
>> The remote protocol currently needs to be extended to support asynchronous
>> notifications so it can interact with a non-stop stub. To solve this we've
>> switched to multi-threaded mode from the abstract communications class by
>> implementing AppendBytesToCache() in GDBRemoteCommunication. Allowing us to
>> spawn a read thread that continually reads packets into a packet queue.
>> Packets are then accessed by popping a packet from the queue in a thread
>> safe manner.
>>
>> Since this is a significant change to the remote protocol implementation
>> which won't just affect non-stop mode I'd like some feedback to check if
>> people have any comments about it.
>>
>> The patches are ready to go, and will be put up for review soon.
>>
>> Thanks,
>>     Ewan
>>
>> --
>> Ewan Crawford
>> Codeplay Software Ltd
>> 45 York Place, Edinburgh, EH1 3HP
>> Tel: 0131 466 0503
>> Fax: 0131 557 6600
>> Website: http://www.codeplay.com
>> Twitter: https://twitter.com/codeplaysoft
>>
>> This email and any attachments may contain confidential and /or privileged
>> information and is for use by the addressee only. If you are not the
>> intended recipient, please notify Codeplay Software Ltd immediately and
>> delete the message from your computer. You may not copy or forward it,or use
>> or disclose its contents to any other person. Any views or other information
>> in this message which do not relate to our business are not authorized by
>> Codeplay software Ltd, nor does this message form part of any contract
>> unless so stated.
>> As internet communications are capable of data corruption Codeplay Software
>> Ltd does not accept any responsibility for any changes made to this message
>> after it was sent. Please note that Codeplay Software Ltd does not accept
>> any liability or responsibility for viruses and it is your responsibility to
>> scan any attachments.
>> Company registered in England and Wales, number: 04567874
>> Registered office: 81 Linkfield Street, Redhill RH1 6BY
>>
>> _______________________________________________
>> lldb-dev mailing list
>> lldb-dev at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev

-- 
Ewan Crawford
Codeplay Software Ltd
45 York Place, Edinburgh, EH1 3HP
Tel: 0131 466 0503
Fax: 0131 557 6600
Website: http://www.codeplay.com
Twitter: https://twitter.com/codeplaysoft

This email and any attachments may contain confidential and /or privileged information and is for use by the addressee only. If you are not the intended recipient, please notify Codeplay Software Ltd immediately and delete the message from your computer. You may not copy or forward it,or use or disclose its contents to any other person. Any views or other information in this message which do not relate to our business are not authorized by Codeplay software Ltd, nor does this message form part of any contract unless so stated.
As internet communications are capable of data corruption Codeplay Software Ltd does not accept any responsibility for any changes made to this message after it was sent. Please note that Codeplay Software Ltd does not accept any liability or responsibility for viruses and it is your responsibility to scan any attachments.
Company registered in England and Wales, number: 04567874
Registered office: 81 Linkfield Street, Redhill RH1 6BY

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20150519/afde0d78/attachment.html>


More information about the lldb-dev mailing list