C++ 庫 - <stacktrace>



C++20 中的<stacktrace> 標頭檔案引入了一種處理堆疊跟蹤的方法。它提供程式執行過程中特定點函式呼叫歷史的快照,這有助於除錯和錯誤處理。

在 C++20 之前,獲取堆疊跟蹤需要平臺特定的庫或第三方工具,這使得任務變得混亂。但是,隨著 <stacktrace> 的引入,它規範了此過程,實現了跨平臺相容性並減少了對外部庫的依賴。

包含 <stacktrace> 標頭檔案

要在 C++ 程式中包含 <stacktrace> 標頭檔案,可以使用以下語法。

#include <stacktrace>

<stacktrace> 標頭檔案的函式

以下是 <stacktrace> 標頭檔案中所有函式的列表。

序號 函式及描述
1 operator=

它賦值給 basic_stacktrace。

2 current

它獲取當前堆疊跟蹤或其指定的部分。

3 get_allocator

它返回關聯的分配器。

4 begin

它返回指向開頭的迭代器。

5 cbegin

它返回指向開頭的常量迭代器。

6 end

它返回指向結尾的迭代器。

7 cend

它返回指向結尾的常量迭代器。

8 rbegin

它返回指向開頭的反向迭代器。

9 crbegin

它返回指向開頭的常量反向迭代器。

10 rend

它返回指向結尾的反向迭代器。

11 crend

它返回指向結尾的常量反向迭代器。

12 empty

它檢查堆疊跟蹤是否為空。

13 size

它返回堆疊跟蹤條目的數量。

14 max_size

它返回堆疊跟蹤條目可能的最大數量。

15 operator[]

它訪問指定的堆疊跟蹤條目。

16 at

它訪問指定的堆疊跟蹤條目並進行邊界檢查。

17 swap

它交換內容。

非成員函式

序號 函式及描述
1 operator==

它比較兩個 basic_stacktrace 值的大小和內容。

2 to_string

它返回一個包含堆疊跟蹤描述的字串。

3 operator<<

它執行堆疊跟蹤的流輸出。

廣告