<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi Pavel,<br>
    <br>
    Glad to hear there's demand for it, I'll cc you into the patches.<br>
    <br>
    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.  <br>
    It might however<small> </small>uncover some bugs in the stepping
    logic which could be tricky to track down.<br>
    <br>
    Cheers,<br>
     Ewan<big><br>
    </big><br>
    <div class="moz-cite-prefix">On 19/05/2015 12:12, Pavel Labath
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAJt8pk93SL=cORU5R7_3LUt7CsM6YXdSwO=oeVaxHv7ANpUFNA@mail.gmail.com"
      type="cite">
      <pre wrap="">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 <a class="moz-txt-link-rfc2396E" href="mailto:ewan@codeplay.com"><ewan@codeplay.com></a> wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">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 <a class="moz-txt-link-freetext" href="http://reviews.llvm.org/D9656">http://reviews.llvm.org/D9656</a>.
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: <a class="moz-txt-link-freetext" href="http://www.codeplay.com">http://www.codeplay.com</a>
Twitter: <a class="moz-txt-link-freetext" href="https://twitter.com/codeplaysoft">https://twitter.com/codeplaysoft</a>

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
<a class="moz-txt-link-abbreviated" href="mailto:lldb-dev@cs.uiuc.edu">lldb-dev@cs.uiuc.edu</a>
<a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev">http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev</a>
</pre>
      </blockquote>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Ewan Crawford
Codeplay Software Ltd
45 York Place, Edinburgh, EH1 3HP
Tel: 0131 466 0503
Fax: 0131 557 6600
Website: <a class="moz-txt-link-freetext" href="http://www.codeplay.com">http://www.codeplay.com</a>
Twitter: <a class="moz-txt-link-freetext" href="https://twitter.com/codeplaysoft">https://twitter.com/codeplaysoft</a>

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 </pre>
  </body>
</html>