From c0e5b3ba1d993892e3386a9f67e133a80b97ccc8 Mon Sep 17 00:00:00 2001 From: Jason Molenda Date: Wed, 24 Apr 2013 20:58:03 +0000 Subject: Temporarily recognize exc_type EXC_BREAKPOINT with an exc_code of 0 (normally undefined) as indicating a breakpoint hit, in addition to the normal (EXC_BREAKPOINT, EXC_ARM_BREAKPOINT) pair. llvm-svn: 180216 --- lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp') diff --git a/lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp b/lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp index 7b002c4f4d7..1b2974de5eb 100644 --- a/lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp +++ b/lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp @@ -193,6 +193,8 @@ StopInfoMachException::GetDescription () case 0x101: code_desc = "EXC_ARM_DA_ALIGN"; break; case 0x102: code_desc = "EXC_ARM_DA_DEBUG"; break; case 1: code_desc = "EXC_ARM_BREAKPOINT"; break; + // FIXME temporary workaround, exc_code 0 does not really mean EXC_ARM_BREAKPOINT + case 0: code_desc = "EXC_ARM_BREAKPOINT"; break; } break; @@ -420,6 +422,11 @@ StopInfoMachException::CreateStopReasonWithMachException is_actual_breakpoint = true; is_trace_if_actual_breakpoint_missing = true; } + else if (exc_code == 0) // FIXME not EXC_ARM_BREAKPOINT but a kernel is currently returning this so accept it as indicating a breakpoint until the kernel is fixed + { + is_actual_breakpoint = true; + is_trace_if_actual_breakpoint_missing = true; + } break; default: -- cgit v1.2.3