[英]How to enable perl debugger under mod_perl?
我想对我的代码进行非交互式调试。 代码在启用mod_perl2
httpd
下运行。
根据官方文档,我可以这样做
% setenv PERL5OPT -d
% setenv PERLDB_OPTS "NonStop=1 LineInfo=db.out AutoTrace=1 frame=2"
据我所知,我需要使用PerlSetEnv将 apache setenv
翻译成 apache2 配置的语言。 所以配置必须看起来像
<IfDefine MODPERL>
LoadModule perl_module modules/mod_perl.so
...
PerlSetEnv PERL5OPT -d
PerlSetEnv PERLDB_OPTS NonStop
</IfDefine>
我尝试了这样的配置,但当我在上面包装一些代码时,STDERR 上没有输出
$DB::frame = 1;
# code
$DB::frame = 0;
我能错过什么?
PERLDB_OPTS
和PERL5OPT
是完全正确的变量:
$ cat 1.pl
#!/usr/bin/env perl
sub bar { foo() }
sub foo { }
sub hello {
$DB::frame=1;
bar();
$DB::frame=0;
}
hello();
$ PERLDB_OPTS=NonStop PERL5OPT=-d perl 1.pl > /dev/null
entering main::bar
entering main::foo
这并没有为我工作:
PerlSetEnv PERL5OPT -d
PerlSetEnv PERLDB_OPTS NonStop
在 Apache/2.4.10 上这样做:
SetEnv PERL5OPT -d
SetEnv PERLDB_OPTS NonStop
默认情况下,为我输出到 /var/log/apache2/error.log :
...
[Fri Jun 21 14:43:51.886302 2019] [cgi:error] [pid 24014] [client 127.0.0.1:48278] AH01215: entering DBD::_::common::install_method
[Fri Jun 21 14:43:51.886341 2019] [cgi:error] [pid 24014] [client 127.0.0.1:48278] AH01215: entering DBI::_install_method
[Fri Jun 21 14:43:51.886385 2019] [cgi:error] [pid 24014] [client 127.0.0.1:48278] AH01215: entering DBD::_::common::install_method
[Fri Jun 21 14:43:51.886425 2019] [cgi:error] [pid 24014] [client 127.0.0.1:48278] AH01215: entering DBI::_install_method
[Fri Jun 21 14:43:51.886468 2019] [cgi:error] [pid 24014] [client 127.0.0.1:48278] AH01215: entering DBD::_::common::install_method
[Fri Jun 21 14:43:51.886508 2019] [cgi:error] [pid 24014] [client 127.0.0.1:48278] AH01215: entering DBI::_install_method
[Fri Jun 21 14:43:51.886784 2019] [cgi:error] [pid 24014] [client 127.0.0.1:48278] AH01215: entering CODE(0x18904ff0)
[Fri Jun 21 14:43:51.886823 2019] [cgi:error] [pid 24014] [client 127.0.0.1:48278] AH01215: entering DBI::dr::connect
[Fri Jun 21 14:43:51.886862 2019] [cgi:error] [pid 24014] [client 127.0.0.1:48278] AH01215: entering DBD::Pg::dr::connect
[Fri Jun 21 14:43:51.886899 2019] [cgi:error] [pid 24014] [client 127.0.0.1:48278] AH01215: entering DBI::_new_dbh
[Fri Jun 21 14:43:51.886943 2019] [cgi:error] [pid 24014] [client 127.0.0.1:48278] AH01215: entering DBI::_new_handle
...
祝你好运 !
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.