我想对我的代码进行非交互式调试。启用了httpd
的代码正在mod_perl2
下运行。
根据official documentation我可以喜欢
% setenv PERL5OPT -d
% setenv PERLDB_OPTS "NonStop=1 LineInfo=db.out AutoTrace=1 frame=2"
据我了解,我需要使用PerlSetEnv将apache setenv
转换为apache2 config的语言。所以配置必须看起来像
<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
答案 0 :(得分:1)
这对我来说无效无效:
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
...
祝你好运!