Provided by: perl-doc_5.26.1-6_all bug


       Test2::Util::Trace - Debug information for events


       The Test2::API::Context object, as well as all Test2::Event types need to have access to
       information about where they were created.  This object represents that information.


           use Test2::Util::Trace;

           my $trace = Test2::Util::Trace->new(
               frame => [$package, $file, $line, $subname],


       $msg = $trace->detail
           Used to get/set a custom trace message that will be used INSTEAD of "at <FILE> line
           <LINE>" when calling "$trace->debug".

       $str = $trace->debug
           Typically returns the string "at <FILE> line <LINE>". If "detail" is set then its
           value will be returned instead.

           This issues a warning at the frame (filename and line number where errors should be

           This throws an exception at the frame (filename and line number where errors should be

       $frame = $trace->frame()
           Get the call frame arrayref.

       ($package, $file, $line, $subname) = $trace->call()
           Get the caller details for the debug-info. This is where errors should be reported.

       $pkg = $trace->package
           Get the debug-info package.

       $file = $trace->file
           Get the debug-info filename.

       $line = $trace->line
           Get the debug-info line number.

       $subname = $trace->subname
           Get the debug-info subroutine name.

       $hashref = $t->TO_JSON
           This returns a hashref suitable for passing to the "Test2::Util::Trace->from_json"
           constructor. It is intended for use with the JSON family of modules, which will look
           for a "TO_JSON" method when "convert_blessed" is true.

       $t = Test2::Util::Trace->from_json(%$hashref)
           Given the hash of data returned by "$t->TO_JSON", this method returns a new trace
           object of the appropriate subclass.


       The source code repository for Test2 can be found at


       Chad Granum <>


       Chad Granum <>


       Copyright 2016 Chad Granum <>.

       This program is free software; you can redistribute it and/or modify it under the same
       terms as Perl itself.