Yayin Story Studio logo Yayin Story Studio 项目文档
回到主页 用户手册

StacktraceHelper Class

class Visindigo::General::StacktraceHelper

堆栈跟踪帮助类。. 详情...

头文件: #include <General/StacktraceHelper.h>
自以下版本: Visindigo 0.13.0

静态公开成员

(自 Visindigo 0.13.0 引入) QList<Visindigo::General::StacktraceFrame> getStacktrace(qint32 maxFrames = 63, qint32 skipFrames = 0)

详细说明

StacktraceHelper 类提供获取当前执行堆栈跟踪信息的静态方法。 它允许开发者在调试和错误处理过程中获取程序执行路径的详细信息。

请注意,StacktraceHelper 类仅包含静态方法,因此不需要创建其实例。

成员函数文档

[static, since Visindigo 0.13.0] QList<Visindigo::General::StacktraceFrame> StacktraceHelper::getStacktrace(qint32 maxFrames = 63, qint32 skipFrames = 0)

maxFrames 最大帧数,默认值为63。 skipFrames 跳过的帧数,默认值为0。

这个函数自动跳过本身的堆栈帧,因此不必考虑调用此函数带来的额外堆栈帧。

这个函数在定义了VI_HAS_STD_STACKTRACE宏时,使用C++标准库的std::stacktrace来获取堆栈信息。

但由于不同编译器对std::stacktrace的支持程度不同,实际获取的信息也有所差异,因此需要对每个 编译器单独处理,当前只在Q_CC_MSVC下实现了对std::stacktrace的解析,其他编译器下将返回空的堆栈帧列表。

VI_HAS_STD_STACKTRACE未定义时,此函数也将返回空的堆栈帧列表。

return 获取当前执行堆栈的堆栈跟踪帧列表。

这个 function 从 Visindigo 0.13.0 开始支持。