Why not adopt me?
Name
wddebug - enable or disable debugging within WebDyne modules
Synopsis
wddebug [OPTIONS] <FILE>
Options
-h, --help Show brief help message.
- -m, --man
-
Show the manual page
- --status
-
Show the current status of debugging within the module tree. This is the default if no options are given.
- --enable
-
Enable debugging within the module tree
- --disable
-
Disable debugging within the module tree.
- --directory
-
Manually specify the directory where the module tree resides.
- --yes
-
Bypass confirmation message
- --version
-
Display cersion information.
A file name may be optionally specified to specifically enable or disable debugging for only one module.
Description
The wddebug(1) command will enable or disable debugging within the WebDyne suite of modules.
wddebug acts by editing the content of the WebDyne modules to enable or disable debugging routines. Debugging is controlled this way (rather than at runtime) to ensure that WebDyne modules run at the fastest possible speed when debugging is disabled.
When disabled debugging statements within each module are prefixed with the command "0 &&" (as in: 0 && debug "xyz"), which are optimised away at runtime by the Perl bytecode compiler.
When debugging is enabled the "0 &&" is replaced by "1 &&" to ensure that the debug statements are called at run-time.
Enabling and disabling debugging in this way is generally considered bad practice - for this reason this utility should only be used in an isolated test or development environment. The routine will modify all modules in the WebDyne directoy and below, and may have undesired (or unintended) consquence on any module that resides in those directories.
For this reason the wddebug utility should be used with extreme care !
Usage
Enable global debugging:
wddebug --enable
Or for just one module
wddebug --enable WebDyne/Session.pm
Debug output can then be displayed by setting the WEBDYNE_DEBUG environment variable.
WEBDYNE_DEBUG=1 wdrender test.psp
Will display debug output when rendering a test page. You can filter down to one module by setting the environment variable to the method/subroutine you are interested in:
WEBDYNE_DEBUG=WebDyne::handler wdrender test.psp
Will only show debug information from the WebDyne::handler method.
Debug information can be saved to a file by setting the WEBDYNE_DEBUG_FILE environment variable:
WEBDYNE_DEBUG_FILE=/tmp/webdyne.log wdrender test.psp
If you require file output to be filtered you can combine the two environment variables
WEBDYNE_DEBUG_FILE=/tmp/webdyne.log WEBDYNE_DEBUG=WebDyne::handler wdrender test.psp
Author
Written by Andrew Speer, andrew.speer@webdyne.org
Copying
Copyright (C) 2009 Andrew Speer. Free use of this software is granted under the terms of the GNU General Public License (GPL)