[Lldb-commits] [lldb] Support single stopped event in lldb-dap (PR #98568)

via lldb-commits lldb-commits at lists.llvm.org
Fri Jul 12 11:30:23 PDT 2024


jeffreytan81 wrote:

> If I have a program with lots of threads - particularly if they are running in a small set of work functions - it's very common to have multiple breakpoint hits at the same time. And in this mode I'm going to end up having to scroll down the list - which if I have lots of threads will involve some actually scrolling - every time I stop in order to make sure I'm not missing any breakpoint hits I wanted to look at. I don't think this is a great solution to the UI problem, but since it's a mode you can turn on and off it falls in the you do you category.

Thanks for sharing the thoughts. I see your concern. However, this feature has been explicitly asked by our internal customers because, without this feature, VSCode is showing multiple yellow lines in VSCode editor while stopping which makes it almost unusable for them. (I wish I can show you the screenshot). This feature has actually been landed as an internal patch and used by them for a while.

I have done some more intensive user study about the experience in Xcode and Windows Visual Studio. Xcode always sent all stopped events, but putting the focused/current thread with different color (green for focused thread, yellow for non-current threads) so it is better than VSCode (which does not show different color for current vs background thread's stopped events) so stopped line is yellow. Visual Studio never sent multiple stopped events, and only one public stop is sent. I am not sure if it is ensured by Windows kernel or debugger itself.

Ideally, we would like the combination of both world -- default showing one stopped event, but providing a UI hint to toggle into Xcode experience by showing all stopped threads in editor. And we also talk about extend VSCode UI to ad an option "only show threads with stop reasons". 

This is just first step to reduce the major concern for our customers.


https://github.com/llvm/llvm-project/pull/98568


More information about the lldb-commits mailing list