本文整理汇总了C++中SystemRuntime::GetExtendedBacktrace方法的典型用法代码示例。如果您正苦于以下问题:C++ SystemRuntime::GetExtendedBacktrace方法的具体用法?C++ SystemRuntime::GetExtendedBacktrace怎么用?C++ SystemRuntime::GetExtendedBacktrace使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SystemRuntime
的用法示例。
在下文中一共展示了SystemRuntime::GetExtendedBacktrace方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: exe_ctx
SBThread
SBThread::GetExtendedBacktrace (const char *type)
{
Log *log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API));
Mutex::Locker api_locker;
ExecutionContext exe_ctx (m_opaque_sp.get(), api_locker);
SBThread sb_origin_thread;
if (exe_ctx.HasThreadScope())
{
Process::StopLocker stop_locker;
if (stop_locker.TryLock(&exe_ctx.GetProcessPtr()->GetRunLock()))
{
ThreadSP real_thread(exe_ctx.GetThreadPtr());
if (real_thread)
{
ConstString type_const (type);
SystemRuntime *runtime = exe_ctx.GetProcessPtr()->GetSystemRuntime();
if (runtime)
{
ThreadSP origin_thread = runtime->GetExtendedBacktrace (real_thread, type_const);
sb_origin_thread.SetThread (origin_thread);
}
}
}
else
{
if (log)
log->Printf ("SBThread(%p)::GetExtendedBacktrace() => error: process is running", exe_ctx.GetThreadPtr());
}
}
return sb_origin_thread;
}