NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
stacktrace类 参考

堆栈跟踪类 更多...

#include <stacktrace.hpp>

类 stacktrace 继承关系图:
[图例]

class  frame
 堆栈帧类 更多...

Public 成员函数

 stacktrace (size_t skip=0, size_t max_depth=64)
 构造函数,捕获当前堆栈
NEFORCE_NODISCARD size_t size () const noexcept
 获取堆栈深度
NEFORCE_NODISCARD bool empty () const noexcept
 检查堆栈是否为空
NEFORCE_NODISCARD const frameoperator[] (const size_t idx) const noexcept
 常量索引访问
NEFORCE_NODISCARD frameoperator[] (const size_t idx) noexcept
 索引访问
NEFORCE_NODISCARD auto begin () const noexcept
 获取起始常量迭代器
NEFORCE_NODISCARD auto end () const noexcept
 获取结束常量迭代器
NEFORCE_NODISCARD auto cbegin () const noexcept
 获取起始常量迭代器
NEFORCE_NODISCARD auto cend () const noexcept
 获取结束常量迭代器
NEFORCE_NODISCARD string to_string () const
 转换为字符串
Public 成员函数 继承自 istringify< stacktrace >
NEFORCE_NODISCARD NEFORCE_CONSTEXPR20 string to_string () const
 转换为字符串

详细描述

堆栈跟踪类

捕获当前线程的调用堆栈,并提供对堆栈帧的访问。 支持符号名称解析和格式化的堆栈输出。

在文件 stacktrace.hpp29 行定义.

构造及析构函数说明

◆ stacktrace()

stacktrace::stacktrace ( size_t skip = 0,
size_t max_depth = 64 )
explicit

构造函数,捕获当前堆栈

参数
skip要跳过的帧数(包括当前函数)
max_depth最大捕获深度

捕获当前线程的调用堆栈,跳过指定数量的顶层帧。

成员函数说明

◆ begin()

NEFORCE_NODISCARD auto stacktrace::begin ( ) const
inlinenoexcept

获取起始常量迭代器

返回
常量迭代器

在文件 stacktrace.hpp134 行定义.

◆ cbegin()

NEFORCE_NODISCARD auto stacktrace::cbegin ( ) const
inlinenoexcept

获取起始常量迭代器

返回
常量迭代器

在文件 stacktrace.hpp146 行定义.

◆ cend()

NEFORCE_NODISCARD auto stacktrace::cend ( ) const
inlinenoexcept

获取结束常量迭代器

返回
常量迭代器

在文件 stacktrace.hpp152 行定义.

◆ empty()

NEFORCE_NODISCARD bool stacktrace::empty ( ) const
inlinenoexcept

检查堆栈是否为空

返回
是否为空

在文件 stacktrace.hpp114 行定义.

◆ end()

NEFORCE_NODISCARD auto stacktrace::end ( ) const
inlinenoexcept

获取结束常量迭代器

返回
常量迭代器

在文件 stacktrace.hpp140 行定义.

◆ operator[]() [1/2]

NEFORCE_NODISCARD const frame & stacktrace::operator[] ( const size_t idx) const
inlinenoexcept

常量索引访问

参数
idx索引位置
返回
对应位置的堆栈帧常量引用

在文件 stacktrace.hpp121 行定义.

◆ operator[]() [2/2]

NEFORCE_NODISCARD frame & stacktrace::operator[] ( const size_t idx)
inlinenoexcept

索引访问

参数
idx索引位置
返回
对应位置的堆栈帧引用

在文件 stacktrace.hpp128 行定义.

◆ size()

NEFORCE_NODISCARD size_t stacktrace::size ( ) const
inlinenoexcept

获取堆栈深度

返回
堆栈帧数量

在文件 stacktrace.hpp108 行定义.

◆ to_string()

NEFORCE_NODISCARD string stacktrace::to_string ( ) const

转换为字符串

返回
格式化的完整堆栈信息

每行格式:#索引 地址 [in 函数名]


该类的文档由以下文件生成: