diff options
author | Jason Molenda <jmolenda@apple.com> | 2013-04-24 20:58:03 +0000 |
---|---|---|
committer | Jason Molenda <jmolenda@apple.com> | 2013-04-24 20:58:03 +0000 |
commit | c0e5b3ba1d993892e3386a9f67e133a80b97ccc8 (patch) | |
tree | 42a9ee01a47af3211c4cb4ebe29dc94b1def9332 /lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp | |
parent | 76ee3e7e1c27b666ae125b649e42bbf5558df9df (diff) | |
download | bcm5719-llvm-c0e5b3ba1d993892e3386a9f67e133a80b97ccc8.tar.gz bcm5719-llvm-c0e5b3ba1d993892e3386a9f67e133a80b97ccc8.zip |
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.
<rdar://problem/13730366>
llvm-svn: 180216
Diffstat (limited to 'lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp')
-rw-r--r-- | lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
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: |