summaryrefslogtreecommitdiffstats
path: root/lldb/source/Target/StackFrameList.cpp
diff options
context:
space:
mode:
authorEnrico Granata <egranata@apple.com>2013-03-15 17:25:04 +0000
committerEnrico Granata <egranata@apple.com>2013-03-15 17:25:04 +0000
commitebafd2f1873d35cfc3f0063ee2feb7d36a01ba8f (patch)
treee9d2b2a58f2d460de7efc5fd1c94416e2116231d /lldb/source/Target/StackFrameList.cpp
parentc8541f2bf21c33a567d8dcaf163bc6071311fd58 (diff)
downloadbcm5719-llvm-ebafd2f1873d35cfc3f0063ee2feb7d36a01ba8f.tar.gz
bcm5719-llvm-ebafd2f1873d35cfc3f0063ee2feb7d36a01ba8f.zip
<rdar://problem/13194155>
Fixing an issue where threads and frames could get out of sync and cause ValueObjects to fail to retrieve their values correctly llvm-svn: 177166
Diffstat (limited to 'lldb/source/Target/StackFrameList.cpp')
-rw-r--r--lldb/source/Target/StackFrameList.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/lldb/source/Target/StackFrameList.cpp b/lldb/source/Target/StackFrameList.cpp
index 0a45d33ea65..913456d2419 100644
--- a/lldb/source/Target/StackFrameList.cpp
+++ b/lldb/source/Target/StackFrameList.cpp
@@ -250,6 +250,10 @@ StackFrameList::SetCurrentInlinedDepth (uint32_t new_depth)
void
StackFrameList::GetFramesUpTo(uint32_t end_idx)
{
+ // this makes sure we do not fetch frames for an invalid thread
+ if (m_thread.IsValid() == false)
+ return;
+
// We've already gotten more frames than asked for, or we've already finished unwinding, return.
if (m_frames.size() > end_idx || GetAllFramesFetched())
return;
OpenPOWER on IntegriCloud