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 相同。
一些工具确实很好地将这些字段设置为正确的 hub,但你不能总是依赖于此。请改用 'hubs' 面向对象列表。
创建事件时当前 hub 的 ID。
创建事件时当前 hub 的 UUID。(如果启用了 uuid 标记)。
事件的嵌套深度。
如果事件被缓冲并且没有独立于父级发送到格式化程序,则为真(当嵌套为 0
或 undef
时,不应设置此值)。
注意:所有方面框架也是方法。
用于获取/设置自定义跟踪消息,该消息将在调用 $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 <[email protected]>.
本程序是自由软件;您可以根据 Perl 本身相同的条款重新发布和/或修改它。
参见 https://dev.perl5.cn/licenses/