diff options
author | Jim Ingham <jingham@apple.com> | 2012-09-01 01:02:41 +0000 |
---|---|---|
committer | Jim Ingham <jingham@apple.com> | 2012-09-01 01:02:41 +0000 |
commit | 513c6bb88cb8e9174465ec987498b14d345ce3a0 (patch) | |
tree | 3b53690275d3301cff8c5cc2852354a58b830b34 /lldb/source/Plugins | |
parent | 4c05410f8f7d312fd45d8f156015cc2c13f5c977 (diff) | |
download | bcm5719-llvm-513c6bb88cb8e9174465ec987498b14d345ce3a0.tar.gz bcm5719-llvm-513c6bb88cb8e9174465ec987498b14d345ce3a0.zip |
Initial check-in of "fancy" inlined stepping. Doesn't do anything useful unless you switch LLDB_FANCY_INLINED_STEPPING to true. With that
on, basic inlined stepping works, including step-over of inlined functions. But for some as yet mysterious reason i386 debugging gets an
assert and dies immediately. So for now its off.
llvm-svn: 163044
Diffstat (limited to 'lldb/source/Plugins')
-rw-r--r-- | lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.cpp b/lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.cpp index 55cb222ce47..95e4a9962dd 100644 --- a/lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.cpp +++ b/lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.cpp @@ -83,11 +83,16 @@ ThreadGDBRemote::GetQueueName () bool ThreadGDBRemote::WillResume (StateType resume_state) { - ClearStackFrames(); // Call the Thread::WillResume first. If we stop at a signal, the stop info // class for signal will set the resume signal that we need below. The signal // stuff obeys the Process::UnixSignal defaults. - Thread::WillResume(resume_state); + // If the thread's WillResume returns false, that means that we aren't going to actually resume, + // in which case we should not do the rest of our "resume" work. + + if (!Thread::WillResume(resume_state)) + return false; + + ClearStackFrames(); int signo = GetResumeSignal(); lldb::LogSP log(lldb_private::GetLogIfAnyCategoriesSet (GDBR_LOG_THREAD)); |