perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From william <yin...@gmail.com>
Subject Re: mod_perl interactive debugging
Date Thu, 29 May 2008 05:22:23 GMT
On 5/29/08, Perrin Harkins <perrin@elem.com> wrote:
> On Wed, May 28, 2008 at 3:33 AM, william <yingun@gmail.com> wrote:
>  > william@william-pc:~$ sudo apache2 -X -DPERLDB -k restart
>  > [notice] Apache::DB initialized in child 10312
>  >
>  > Do I have to use DDD to see the prompt ?
>
>
> No, it should just be right there in your terminal.  It seems to be
>  forking.  Are you sure apache2 is the httpd executable and not some
>  script?  By the way, if you want a reference that's written for using
>  the debugger with mod_perl 2, try this one:
>  http://www.perl.com/pub/a/2006/02/09/debug_mod_perl.html
>
>
>  - Perrin
>


Thanks for the link, I have just read that. It's still almost the same.

PerlModule ModPerl::RegistryPrefork
<Location /modperl/>
	PerlFixupHandler Apache::DB

  	SetHandler perl-script
	PerlResponseHandler ModPerl::RegistryPrefork
      PerlOptions +ParseHeaders
      Options +ExecCGI
      Order allow,deny
      Allow from all
</Location>

If I am using  ModPerl::RegistryPrefork instead of  ModPerl::Registry
would it matter ?


I put the following lines at the top of my startup.pl script
use APR::Pool (); #specific for mod_perl 2
use Apache::DB ();
Apache::DB->init();

When I put the immediate-above code in <Perl></Perl> it's does
executed but my /var/log/apach2/errror.log does not show the debugging
process, so when I put in startup.pl script then only I will see the
debugging process

 DB<1> ModPerl::RegistryCooker::error_check(/usr/local/lib/perl/5.8.8/ModPerl/RegistryCooker.pm:698):
698:	        return Apache2::Const::SERVER_ERROR;
  DB<1> ModPerl::RegistryCooker::convert_script_to_compiled_handler(/usr/local/lib/perl/5.8.8/ModPerl/RegistryCooker.pm:407):
407:	    return $rc unless $rc == Apache2::Const::OK;
  DB<1> ModPerl::RegistryCooker::default_handler(/usr/local/lib/perl/5.8.8/ModPerl/RegistryCooker.pm:164):
164:	        return $rc unless $rc == Apache2::Const::OK;
  DB<1> [Thu May 29 13:09:08 2008] [error] [client 127.0.0.1] File
does not exist: /var/www/favicon.ico, referer:
http://localhost/modperl/main.pl


> Are you sure apache2 is the httpd executable and not some
script?

How do I check that ?


Now it's weird, when I check the error.log , many lines of code are
executed repeatedly, does that shows that I am not really using single
process ? Here are a few of it. Thanks.

82:	      $self->{compounds}->{$word} = 1 if ($word =~ /_/);
  DB<1> WordNet::Tools::new(/usr/local/share/perl/5.8.8/WordNet/Tools.pm:82):
82:	      $self->{compounds}->{$word} = 1 if ($word =~ /_/);
  DB<1> WordNet::Tools::new(/usr/local/share/perl/5.8.8/WordNet/Tools.pm:82):
82:	      $self->{compounds}->{$word} = 1 if ($word =~ /_/);
  DB<1> WordNet::Tools::new(/usr/local/share/perl/5.8.8/WordNet/Tools.pm:82):
82:	      $self->{compounds}->{$word} = 1 if ($word =~ /_/);
  DB<1> WordNet::Tools::new(/usr/local/share/perl/5.8.8/WordNet/Tools.pm:82):
82:	      $self->{compounds}->{$word} = 1 if ($word =~ /_/);
  DB<1> WordNet::Tools::new(/usr/local/share/perl/5.8.8/WordNet/Tools.pm:82):
82:	      $self->{compounds}->{$word} = 1 if ($word =~ /_/);
  DB<1> WordNet::Tools::new(/usr/local/share/perl/5.8.8/WordNet/Tools.pm:82):
82:	      $self->{compounds}->{$word} = 1 if ($word =~ /_/);
  DB<1> WordNet::Tools::new(/usr/local/share/perl/5.8.8/WordNet/Tools.pm:82):
82:	      $self->{compounds}->{$word} = 1 if ($word =~ /_/);
  DB<1> WordNet::Tools::new(/usr/local/share/perl/5.8.8/WordNet/Tools.pm:82):
82:	      $self->{compounds}->{$word} = 1 if ($word =~ /_/);
  DB<1> WordNet::Tools::new(/usr/local/share/perl/5.8.8/WordNet/Tools.pm:82):
82:	      $self->{compounds}->{$word} = 1 if ($word =~ /_/);
  DB<1> WordNet::Tools::new(/usr/local/share/perl/5.8.8/WordNet/Tools.pm:82):
82:	      $self->{compounds}->{$word} = 1 if ($word =~ /_/);
  DB<1> WordNet::Tools::new(/usr/local/share/perl/5.8.8/WordNet/Tools.pm:82):
82:	      $self->{compounds}->{$word} = 1 if ($word =~ /_/);
  DB<1> WordNet::Tools::new(/usr/local/share/perl/5.8.8/WordNet/Tools.pm:82):
82:	      $self->{compounds}->{$word} = 1 if ($word =~ /_/);



  DB<1> File::Temp::CODE(0xabf9548)(/usr/share/perl/5.8/File/Temp.pm:132):
132:	use 5.005;
  DB<1> File::Temp::CODE(0xabf9548)(/usr/share/perl/5.8/File/Temp.pm:132):
132:	use 5.005;
  DB<1> File::Temp::CODE(0xabf9548)(/usr/share/perl/5.8/File/Temp.pm:132):
132:	use 5.005;
  DB<1> File::Temp::CODE(0xabf9554)(/usr/share/perl/5.8/File/Temp.pm:133):
133:	use strict;
  DB<1> File::Temp::CODE(0xabf9554)(/usr/share/perl/5.8/File/Temp.pm:133):
133:	use strict;
  DB<1> File::Temp::CODE(0xabf9554)(/usr/share/perl/5.8/File/Temp.pm:133):
133:	use strict;
  DB<1> File::Temp::CODE(0xabf9560)(/usr/share/perl/5.8/File/Temp.pm:134):
134:	use Carp;
  DB<1> File::Temp::CODE(0xabf9560)(/usr/share/perl/5.8/File/Temp.pm:134):
134:	use Carp;
  DB<1> File::Temp::CODE(0xabf9560)(/usr/share/perl/5.8/File/Temp.pm:134):
134:	use Carp;

Mime
View raw message