diff options
author | Jim Ingham <jingham@apple.com> | 2011-11-01 02:46:54 +0000 |
---|---|---|
committer | Jim Ingham <jingham@apple.com> | 2011-11-01 02:46:54 +0000 |
commit | ce553d885abcce514e52618f0fd44f3c6940f171 (patch) | |
tree | 6eeb3eec23ea8d3a73cc27b1ed27f04efcc16cf3 /lldb/source/Target/ThreadPlanCallUserExpression.cpp | |
parent | fc08bdcc5761b64b0affc5ba9d7ab19812402089 (diff) | |
download | bcm5719-llvm-ce553d885abcce514e52618f0fd44f3c6940f171.tar.gz bcm5719-llvm-ce553d885abcce514e52618f0fd44f3c6940f171.zip |
Enhanced the ObjC DynamicCheckerFunction to test for "object responds to selector" as well as
"object borked"... Also made the error when the checker fails reflect this fact rather than
report a crash at 0x0.
Also a little cleanup:
- StopInfoMachException had a redundant copy of the description string.
- ThreadPlanCallFunction had a redundant copy of the thread, and had a
copy of the process that it didn't really need.
llvm-svn: 143419
Diffstat (limited to 'lldb/source/Target/ThreadPlanCallUserExpression.cpp')
-rw-r--r-- | lldb/source/Target/ThreadPlanCallUserExpression.cpp | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/lldb/source/Target/ThreadPlanCallUserExpression.cpp b/lldb/source/Target/ThreadPlanCallUserExpression.cpp index dc27b2be200..0499a7c7ce4 100644 --- a/lldb/source/Target/ThreadPlanCallUserExpression.cpp +++ b/lldb/source/Target/ThreadPlanCallUserExpression.cpp @@ -55,6 +55,20 @@ ThreadPlanCallUserExpression::~ThreadPlanCallUserExpression () void ThreadPlanCallUserExpression::GetDescription (Stream *s, lldb::DescriptionLevel level) -{ +{ ThreadPlanCallFunction::GetDescription (s, level); } + +StopInfoSP +ThreadPlanCallUserExpression::GetRealStopInfo() +{ + StopInfoSP stop_info_sp = ThreadPlanCallFunction::GetRealStopInfo(); + lldb::addr_t addr = GetStopAddress(); + DynamicCheckerFunctions *checkers = m_thread.GetProcess().GetDynamicCheckers(); + StreamString s; + + if (checkers && checkers->DoCheckersExplainStop(addr, s)) + stop_info_sp->SetDescription(s.GetData()); + + return stop_info_sp; +} |