Re: [webmin-devel] Debugging and Shorewall module
Hugo Cornelis <hugo_cornelis <at> yahoo.com>
2007-08-01 15:08:40 GMT
I use two independent debugging techniques when developing webmin/apache modules:
1. The first one is a kind of logging, complementary to what webmin already does. Webmin logs to a single file for all requests, I log to a set of rotating files, each file contains a information of the execution of cgi script. The implementation of this can be found in the sesa scripts, a small application framework on top of webmin (available on sourceforge.net/projects/sesa, the specific files that implement the feature are Sems.pm and Persistency.pm). The advantage of these log files is that they don't fill your disk (they are rotating), and give you a good history of what a user has done in the recent past. The disadvantage is obviously performance.
2. From CPAN, there is a module Devel::ptkdb that allows to do source code debugging, also for cgi scripts running on a remote server. To do this, you set the DISPLAY variable to your display
(where your browser is runnning), in a very first _BEGIN_ block in your cgi script. Then, second, you use the interpreter sequence '#!/usr/bin/perl -d:ptkdb' to call the debugger. Then, make a request to the server, such that it executes your cgi script. Perhaps small changes are required to the webmin configuration, I am not entirely sure about it (e.g. to fork cgi scripts ?). I have used this technique a lot for debugging complicated cgi scripts.
Hugo
Paul Gear <paul <at> gear.dyndns.org> wrote:
Hi folks,
I've made a few useful (i think) changes to the Shorewall module, and i
plan to make a few more before i send in the patches. However, i would
like to do some more testing & debugging, and i'd like to know what sort
of debugging tools are at my disposal.
From what i can
tell, the Perl errors from my module actually go nowhere
at all. Is this correct/intended? What is the preferred mechanism to
capture Perl errors and produce debug output? I've experimented with
saving temporary files using a technique i borrowed from another module,
and that seems to work sometimes, but not always (and possibly is
dependent upon the actual path used). I'm confused! 
Thanks in advance,
Paul
--
Did you know? It is illegal to use your copy of Microsoft Office on
multiple computers without multiple licenses. Why not try the free
alternative OpenOffice.org?
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of
Splunk now >> http://get.splunk.com/-
Forwarded by the Webmin development list at webmin-devel <at> webmin.com
To remove yourself from this list, go to
http://lists.sourceforge.net/lists/listinfo/webadmin-devel
Take the Internet to Go: Yahoo!Go puts the
Internet in your pocket: mail, news, photos & more.
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
-
Forwarded by the Webmin development list at webmin-devel <at> webmin.com
To remove yourself from this list, go to
http://lists.sourceforge.net/lists/listinfo/webadmin-devel