[Lldb-commits] [PATCH] D79308: [lldb-server] Reset stop reason of all threads when resuming

Jaroslav Sevcik via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Sun May 3 14:20:56 PDT 2020


jarin created this revision.
jarin added a reviewer: jingham.
jarin added a project: LLDB.
Herald added a subscriber: lldb-commits.

This patch makes the stop reason reset logic similar to MacOS' debugserver, where exceptions are reset for all threads when resuming process for stepping or continuing (see MachThreadList::ProcessWillResume <https://github.com/llvm/llvm-project/blob/96f3ea0d21b48ca088355db10d4d1a2e9bc9f884/lldb/tools/debugserver/source/MacOSX/MachThreadList.cpp#L433> and MachThread::ThreadWillResume <https://github.com/llvm/llvm-project/blob/96f3ea0d21b48ca088355db10d4d1a2e9bc9f884/lldb/tools/debugserver/source/MacOSX/MachThread.cpp#L363>).

Resetting stop reasons on resume fixes problems where LLDB spuriously reports SIGTRAP signal stop reason for deleted breakpoints (both internal and public) and where  LLDB stops on an internal breakpoint while stepping over while a breakpoint is hit in another thread. See PR45642 <https://bugs.llvm.org/show_bug.cgi?id=45642> for details.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D79308

Files:
  lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
  lldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp
  lldb/source/Plugins/Process/Linux/NativeThreadLinux.h
  lldb/test/API/functionalities/thread/break_step_other/Makefile
  lldb/test/API/functionalities/thread/break_step_other/TestThreadBreakStepOther.py
  lldb/test/API/functionalities/thread/break_step_other/main.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D79308.261725.patch
Type: text/x-patch
Size: 5115 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20200503/e76ce58b/attachment.bin>


More information about the lldb-commits mailing list