From f4be227dc66c412dc54342848b666ef0c376bd8d Mon Sep 17 00:00:00 2001 From: Sean Callanan Date: Thu, 21 Feb 2013 20:54:33 +0000 Subject: [PATCH] Fixed a case where a stack frame could lose track of its own target. llvm-svn: 175794 --- lldb/source/Target/StackFrame.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lldb/source/Target/StackFrame.cpp b/lldb/source/Target/StackFrame.cpp index fd95882..2cc46ef 100644 --- a/lldb/source/Target/StackFrame.cpp +++ b/lldb/source/Target/StackFrame.cpp @@ -452,7 +452,12 @@ StackFrame::GetSymbolContext (uint32_t resolve_scope) // function, block, line entry or symbol, so we can safely call // ResolveSymbolContextForAddress with our symbol context member m_sc. if (m_sc.target_sp) + { + // FIXME This call erases m_sc.target_sp and will never restore it. Back it up. + TargetSP target_sp = m_sc.target_sp; resolved |= m_sc.target_sp->GetImages().ResolveSymbolContextForAddress (lookup_addr, resolve_scope, m_sc); + m_sc.target_sp = target_sp; + } } // Update our internal flags so we remember what we have tried to locate so -- 2.7.4