[Lldb-commits] [PATCH] Fix handling of hijacked events in synchronous mode

jingham at apple.com jingham at apple.com
Fri May 8 10:23:08 PDT 2015


*stopped has nothing to do with lldb events.  It just means that you issues a command to the MI that ran the target and stopped.  If you are running in async mode, you start the target going, then wait for a stopped event, then print *stopped and the stop reason.  If you are running in sync mode, you issue the SB API call that continues the target, and that call won't return till the process has either stopped or exited.  At that point you can generate the *stopped reply to the original MI request.  You don't need to change how LLDB's sync mode works to achieve this so far as I can see.

Jim

> On May 8, 2015, at 10:16 AM, Ilia K <ki.stfu at gmail.com> wrote:
> 
> In http://reviews.llvm.org/D9371#169086, @jingham wrote:
> 
>> Tell me again what problem you are trying to solve?  In synchronous mode, you always know that when a command that runs the target returns either you stopped, or the program exited. I don't see why you need an event for that.
> 
> 
> Eclipse works in sync mode and always waits for *stopped notification. I tried to find rules about when *stopped should be printed but I haven't found anything about printing *stopped in sync mode. It just says that it is async record that used when target was stopped. Nevertheless, GDB/MI shows it every time the target was stopped and therefore Eclipse waits it too.
> 
> Adding @abidh because he is interested in this patch too.
> 
> 
> http://reviews.llvm.org/D9371
> 
> EMAIL PREFERENCES
>  http://reviews.llvm.org/settings/panel/emailpreferences/
> 
> 





More information about the lldb-commits mailing list