[Lldb-commits] [lldb] r175794 - Fixed a case where a stack frame could lose track

Sean Callanan scallanan at apple.com
Thu Feb 21 12:54:33 PST 2013


Author: spyffe
Date: Thu Feb 21 14:54:33 2013
New Revision: 175794

URL: http://llvm.org/viewvc/llvm-project?rev=175794&view=rev
Log:
Fixed a case where a stack frame could lose track
of its own target.

<rdar://problem/13121412>

Modified:
    lldb/trunk/source/Target/StackFrame.cpp

Modified: lldb/trunk/source/Target/StackFrame.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/StackFrame.cpp?rev=175794&r1=175793&r2=175794&view=diff
==============================================================================
--- lldb/trunk/source/Target/StackFrame.cpp (original)
+++ lldb/trunk/source/Target/StackFrame.cpp Thu Feb 21 14:54:33 2013
@@ -452,7 +452,12 @@ StackFrame::GetSymbolContext (uint32_t r
             // 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





More information about the lldb-commits mailing list