void StackFrameList::Dump(Stream *s) { if (s == nullptr) return; std::lock_guard<std::recursive_mutex> guard(m_mutex); const_iterator pos, begin = m_frames.begin(), end = m_frames.end(); for (pos = begin; pos != end; ++pos) { StackFrame *frame = (*pos).get(); s->Printf("%p: ", static_cast<void *>(frame)); if (frame) { frame->GetStackID().Dump(s); frame->DumpUsingSettingsFormat(s); } else s->Printf("frame #%u", (uint32_t)std::distance(begin, pos)); s->EOL(); } s->EOL(); }
void StackFrameList::Dump (Stream *s) { if (s == NULL) return; Mutex::Locker locker (m_mutex); const_iterator pos, begin = m_frames.begin(), end = m_frames.end(); for (pos = begin; pos != end; ++pos) { StackFrame *frame = (*pos).get(); s->Printf("%p: ", frame); if (frame) { frame->GetStackID().Dump (s); frame->DumpUsingSettingsFormat (s); } else s->Printf("frame #%u", (uint32_t)std::distance (begin, pos)); s->EOL(); } s->EOL(); }