bool SBFrame::IsInlined() { if (m_opaque_sp) { Block *block = m_opaque_sp->GetSymbolContext(eSymbolContextBlock).block; if (block) return block->GetContainingInlinedBlock () != NULL; } return false; }
bool SBFrame::IsInlined() { LogSP log(GetLogIfAllCategoriesSet (LIBLLDB_LOG_API)); ExecutionContext exe_ctx(m_opaque_sp.get()); StackFrame *frame = NULL; Target *target = exe_ctx.GetTargetPtr(); Process *process = exe_ctx.GetProcessPtr(); if (target && process) { Process::StopLocker stop_locker; if (stop_locker.TryLock(&process->GetRunLock())) { frame = exe_ctx.GetFramePtr(); if (frame) { Block *block = frame->GetSymbolContext(eSymbolContextBlock).block; if (block) return block->GetContainingInlinedBlock () != NULL; } else { if (log) log->Printf ("SBFrame::IsInlined () => error: could not reconstruct frame object for this SBFrame."); } } else { if (log) log->Printf ("SBFrame::IsInlined () => error: process is running"); } } return false; }