Test2::EventFacet::Trace - 事件的偵錯資訊
Test2::API::Context 物件,以及所有 Test2::Event 類型都需要存取有關它們在哪裡建立的資訊。此物件表示該資訊。
use Test2::EventFacet::Trace;
my $trace = Test2::EventFacet::Trace->new(
frame => [$package, $file, $line, $subname],
);
用作自訂追蹤訊息,呼叫 $trace->debug
時,將會用於取代 at <FILE> line <LINE>
。
取得呼叫框架陣列參考。
[$package, $file, $line, $subname]
事件產生的程序 ID。
事件產生的執行緒 ID。
用於建立事件的內容 ID。
用於建立事件的內容 UUID。(如果已啟用 uuid 標記)
取得基本呼叫資訊,作為清單。
取得完整的呼叫者 (N) 結果。
從完整的呼叫者資訊取得索引 9。這是 warnings_bits 欄位。
此值的意義在不同的 perl 版本,甚至程序中都是不可攜帶的。然而,它可以在產生它的程序中用於在新的範圍中複製警告設定。
eval <<EOT;
BEGIN { ${^WARNING_BITS} = $trace->warning_bits };
... context's warning settings apply here ...
EOT
這些欄位並非總是會由工具正確設定。這些欄位大多數已由 Test2::EventFacet::Hub 外觀標示為不建議使用。這些欄位並非必要,而且可能只反映事件建立時目前的 hub,這不一定與事件傳送的 hub 相同。
有些工具確實會正確設定這些欄位,但您不能總是依賴它。請改用「hubs」外觀標示清單。
事件建立時目前的 hub ID。
事件建立時目前的 hub UUID。(如果已啟用 uuid 標記)
事件巢狀的深度。
如果事件已暫存且未傳送至格式化程式,且與父層無關(當 nested 為 0
或 undef
時,不應設定此值),則為 True。
注意:所有切面框架也是方法。
用於取得/設定自訂追蹤訊息,在呼叫 $trace->debug
時,此訊息將用於取代 at <FILE> line <LINE>
。
detail()
是 details
切面欄位的別名,用於向後相容。
通常會傳回字串 at <FILE> line <LINE>
。如果設定 detail
,則會傳回其值。
在框架中發出警告(應報告錯誤的檔案名稱和行號)。
在框架中擲回例外(應報告錯誤的檔案名稱和行號)。
取得偵錯資訊的呼叫者詳細資料。應在此處報告錯誤。
取得偵錯資訊套件。
取得偵錯資訊檔案名稱。
取得偵錯資訊行號。
取得偵錯資訊子常式名稱。
取得識別此追蹤的簽章字串。這用於檢查多個事件是否相關。簽章包含 pid、tid、檔案、行號和 cid。
Test2 的原始碼存放庫可以在 http://github.com/Test-More/test-more/ 找到。
版權所有 2020 Chad Granum <exodist@cpan.org>。
此程式為自由軟體;您可以在與 Perl 相同的條款下重新散布或修改它。
請參閱 http://dev.perl.org/licenses/