Embedded debug statements, including call/return tracing

App::Trace provides debug/tracing support for perl programs and modules. The basic concept is that you put a special call at the beginning and end of each subroutine/method, and when tracing is enabled, you can see the flow of your program. This module reflects my dislike of the perl debugger. I also dislike putting in print statements to debug, then commenting them out when I'm done. I would rather put debug statements in my code and leave them there. That way, when programs work their way into production, they can still be debugged by using appropriate command line options. Perl modules which are written to be used with App::Trace can be debugged easily without entering the perl debugger. The output of tracing is a "program trace" which shows the entry and exit of every subroutine/method (and the arguments). This trace is printed in a format which allows you to follow the flow of the program. Someday I might figure out how to do this at a language level so it will work on any module, not just ones which have been specially instrumented with &App::sub_entry() and &App::sub_exit() calls. In fact, I started work on this with the module, but that was specific to perl version 5.6.x and didn't work with 5.8.x. That's when I decided I would write App::Trace which would work on any Perl (even back to 5.5.3, which I consider to be the first Perl 5 to support for deep backward compatibility). The App-Trace distribution began life as a collection of routines pulled out of the App-Context distribution. I created App-Trace because these routines were very useful independent of the rest of the framework provided by App-Context. App::Trace is dependent on App::Options. It is possible to use App::Trace without App::Options, but they share a common convention with regard to certain global variables in the "App" package/namespace. It is expected that when App::Trace is mature, the routines included will be removed from module in the App-Context distribution. The App-Context distribution will then be dependent on App::Trace for these features.

There is no official package available for openSUSE Leap 15.3


openSUSE Tumbleweed