Chapter 44. Debugging and Devel::
Randy J. Ray
Tip
Since the initial publication of this article, the Devel::* group of modules has flourished, now numbering well over 60 modules. However, all of the information in this article remains current.
You might have learned about Perl’s -d switch, which launches Perl’s internal symbolic debugger. If not, read the perldebug documentation and get started; it lets you set breakpoints and step through your programs line-by-line. The debugger is one of Perl’s most attractive tools for developers, in part because it’s not so much a debugger as a debugging system into which you can place the debugger of your choice. The debuggers can be found in the Devel:: category of the CPAN. In this article, I’d like to describe some of the modules you can find there (listed in Table 44-1).
Module | Purpose |
Devel::DProf | Reports the time used by the program and its subroutines. |
Devel::Peek | Displays Perl values and structures. |
Devel::SmallProf | Profiles individual lines. |
Devel::TraceFuncs | Provides call sequences of subroutines. |
Devel::Symdump | Provides symbolic dumps for variables and symbol tables. |
Devel::WeakRef | Creates weak references to objects. |
Devel::DumpStack | Displays the current subroutine’s stack in human-readable format. |
Devel::DebugInit | Creates initialization files for C/C++ symbolic debuggers. |
Devel::Coverage | Coverage analysis of Perl scripts and libraries. |
Devel::CoreStack | Generates a stack trace from a core dump using the best available ... |
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access