in reply to Re^2: modperl debugger
in thread modperl debugger

You want Apache::DB.

Put the following in your httpd.conf:

# conditionally load the perl debugger <IfDefine PERLDB> <Perl> use Apache::DB (); Apache::DB->init; </Perl> <Location /> PerlInitHandler Apache::DB </Location> </IfDefine>

Then start apache like so:

/path/to/apache/bin/httpd -X -D PERLDB

Instead of returning to the terminal like it usually does, the perl debugger will start. Then you can browse around your site. Now you can set breakpoints, step through code, inspect variables, or whatever.

The only way I've found to stop the debugger is with kill -9 PID, so you'll need another terminal.

If you are using mp2, there are a couple additional settings you need. See the link above or run perldoc Apache::DB for the details.

Hope this helps,

trwww

Replies are listed 'Best First'.
Re^4: modperl debugger
by rhymejerky (Beadle) on Aug 28, 2008 at 20:28 UTC
    Great info, I am able to see the debugger showing the lines executed as I load a page. However, once I am done loading a page, the httpd process exit and I will have to restart the httpd again if I want to access another page. I know in the perl code, there are various places with "exit" Is this the reason combining with running httpd in single process mode cause this?