> On Feb 3, 2017, at 10:51 AM, Ted Woodward <ted.woodw...@codeaurora.org> wrote:
> 
> I'm working on plumbing the existing non-stop mode switch 
> (target.non-stop-mode) to lldb-mi, to give Eclipse access to non-stop mode.
> 
> The remote OS is very thread-heavy, and the remote stub doesn't limit the 
> debugger to the current process - because there isn't one, from the stub's 
> point of view. Just a collection of threads. In all-stop mode, if a 2nd 
> thread hits a breakpoint, it will send back a 2nd stop reply, which confuses 
> lldb (rightly so). In non-stop mode, it handles things correctly. So we'll 
> just have to live with the possible missed breakpoint issue.

We tried to keep the possibility of a non-stop mode in mind when designing 
lldb, but I know there are places in lldb at present that assume that if you 
get a "stop" event you won't get another stop event till lldb issues a run.  We 
try not to fall over completely if we get events we don't expect, but we're 
more likely to just discard them than do the right thing.  There also don't 
appear to be any tests running programs in non-stop mode and exercising their 
behavior, so any extent to which it works will be accidental and unstable.

Seems like this is an experimental feature at best, and should be marked as 
such.

Jim

> 
> --
> Qualcomm Innovation Center, Inc.
> The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a 
> Linux Foundation Collaborative Project
> 
> 
>> -----Original Message-----
>> From: jing...@apple.com [mailto:jing...@apple.com]
>> Sent: Friday, February 03, 2017 10:58 AM
>> To: Greg Clayton <gclay...@apple.com>
>> Cc: Ted Woodward <ted.woodw...@codeaurora.org>; LLDB <lldb-
>> d...@lists.llvm.org>
>> Subject: Re: [lldb-dev] non-stop mode with lldb-mi?
>> 
>> 
>>> On Feb 3, 2017, at 8:45 AM, Greg Clayton via lldb-dev <lldb-
>> d...@lists.llvm.org> wrote:
>>> 
>>> Non-stop mode is a huge change to the core of LLDB isn’t it. I think you
>> might think this is easier than it actually is to enable in LLDB?
>>> 
>>> Is non-stop mode where you can leave some threads running while others
>> are stopped? The biggest issue with this is to do it right we need to be 
>> able to
>> emulate instructions so that if 3 threads hit breakpoints, we would need to
>> emulate the instruction that used to be at the breakpoint in LLDB since we
>> can’t remove the breakpoint (unless you stop the other threads which
>> defeats the purpose of non-stop mode) without the other 2 threads possibly
>> missing the breakpoint while you disable breakpoint, single step, enable
>> breakpoint.
>> 
>> That is just one of the many things that will have to be changed to support
>> non-stop mode.  For now, non-stop mode is only likely to work reliably if the
>> threads you are allowing to run never stop - hit breakpoints, crash or
>> whatever - so worrying about missing breakpoints is a second order problem.
>> 
>> Anyway, even as it is it has some utility - presumably you're using it 
>> because
>> you have some threads in your program that can't stop, so you're not likely 
>> to
>> want them to hit breakpoints anyway...  But the current help text for the
>> non-stop setting should probably include some appropriate caveats.
>> 
>> Jim
>> 
>> 
>>> 
>>> Greg
>>> 
>>>> On Feb 3, 2017, at 7:54 AM, Ted Woodward via lldb-dev <lldb-
>> d...@lists.llvm.org> wrote:
>>>> 
>>>> That turns on and off async, but not non-stop.
>>>> 
>>>> I’m working on adding support for –gdb-set and –gdb-show non-stop,
>> and will post my changes on phabricator when I’m done.
>>>> 
>>>> --
>>>> Qualcomm Innovation Center, Inc.
>>>> The Qualcomm Innovation Center, Inc. is a member of Code Aurora
>> Forum, a Linux Foundation Collaborative Project
>>>> 
>>>> From: Ilia K [mailto:ki.s...@gmail.com]
>>>> Sent: Wednesday, February 01, 2017 11:13 PM
>>>> To: Ted Woodward <ted.woodw...@codeaurora.org>
>>>> Cc: LLDB <lldb-dev@lists.llvm.org>
>>>> Subject: Re: [lldb-dev] non-stop mode with lldb-mi?
>>>> 
>>>> Please check `-gdb-set target.async` option. Probably that's what you
>> need.
>>>> 
>>>> On Thu, Feb 2, 2017 at 1:44 AM, Ted Woodward via lldb-dev <lldb-
>> d...@lists.llvm.org> wrote:
>>>>> Does lldb-mi support non-stop mode?
>>>>> 
>>>>> If so, is there a way to set it besides “settings set target.non-stop-mode
>> true”?
>>>>> 
>>>>> --
>>>>> Qualcomm Innovation Center, Inc.
>>>>> The Qualcomm Innovation Center, Inc. is a member of Code Aurora
>> Forum, a Linux Foundation Collaborative Project
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> lldb-dev mailing list
>>>>> lldb-dev@lists.llvm.org
>>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
>>>>> 
>>>> 
>>>> 
>>>> 
>>>> --
>>>> - Ilia
>>>> _______________________________________________
>>>> lldb-dev mailing list
>>>> lldb-dev@lists.llvm.org
>>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
>>> 
>>> _______________________________________________
>>> lldb-dev mailing list
>>> lldb-dev@lists.llvm.org
>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
> 
> 

_______________________________________________
lldb-dev mailing list
lldb-dev@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev

Reply via email to