[Lldb-commits] [lldb] [lldb] Detect a Darwin kernel issue and work around it (PR #81573)

Adrian Prantl via lldb-commits lldb-commits at lists.llvm.org
Wed Feb 14 09:40:10 PST 2024


================
@@ -825,6 +806,56 @@ StopInfoSP StopInfoMachException::CreateStopReasonWithMachException(
     break;
   }
 
-  return StopInfoSP(new StopInfoMachException(thread, exc_type, exc_data_count,
-                                              exc_code, exc_sub_code));
+  return std::make_shared<StopInfoMachException>(
+      thread, exc_type, exc_data_count, exc_code, exc_sub_code,
+      not_stepping_but_got_singlestep_exception);
+}
+
+// Detect an unusual situation on Darwin where:
+//
+//   0. We did an instruction-step before this.
+//   1. We have a hardware breakpoint or watchpoint set.
+//   2. We resumed the process, but not with an instruction-step.
+//   3. The thread gets an "instruction-step completed" mach exception.
+//   4. The pc has not advanced - it is the same as before.
+//
+// This method returns true for that combination of events.
----------------
adrian-prantl wrote:

It might be nice to make these /// and move them into the header file. This way doxygen can pick it up.

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


More information about the lldb-commits mailing list