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 ... |
Get Computer Science & Perl Programming now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.