[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