diff options
Diffstat (limited to 'source/Target/StackFrameList.cpp')
| -rw-r--r-- | source/Target/StackFrameList.cpp | 14 | 
1 files changed, 9 insertions, 5 deletions
diff --git a/source/Target/StackFrameList.cpp b/source/Target/StackFrameList.cpp index 05923d70ce424..f2f3cad471feb 100644 --- a/source/Target/StackFrameList.cpp +++ b/source/Target/StackFrameList.cpp @@ -105,9 +105,13 @@ StackFrameList::GetCurrentInlinedDepth ()  void  StackFrameList::ResetCurrentInlinedDepth ()  { +    Mutex::Locker locker (m_mutex); +      if (m_show_inlined_frames)      {                  GetFramesUpTo(0); +        if (m_frames.size() == 0) +            return;          if (!m_frames[0]->IsInlined())          {              m_current_inlined_depth = UINT32_MAX; @@ -362,8 +366,8 @@ StackFrameList::GetFramesUpTo(uint32_t end_idx)                          // adjustment it will point to an other section. In that case resolve the                          // address again to the correct section plus offset form.                          TargetSP target = m_thread.CalculateTarget(); -                        addr_t load_addr = curr_frame_address.GetOpcodeLoadAddress(target.get()); -                        curr_frame_address.SetOpcodeLoadAddress(load_addr - 1, target.get()); +                        addr_t load_addr = curr_frame_address.GetOpcodeLoadAddress(target.get(), eAddressClassCode); +                        curr_frame_address.SetOpcodeLoadAddress(load_addr - 1, target.get(), eAddressClassCode);                      }                      else                      { @@ -457,9 +461,9 @@ StackFrameList::GetFramesUpTo(uint32_t end_idx)          }  #if defined (DEBUG_STACK_FRAMES) -            s.PutCString("\n\nNew frames:\n"); -            Dump (&s); -            s.EOL(); +        s.PutCString("\n\nNew frames:\n"); +        Dump (&s); +        s.EOL();  #endif      }      else  | 
