我正在使用“perl -d”开关在 SuSe Linux 上调试 perl 程序。
调试时,程序正在报告XYZ variable is not set
如何在调试器中设置 XYZ 的值?
我尝试在调试器内部进行跟踪,但没有工作。
set XYZ=ABC
my $XYZ=ABC
setenv XYZ ABC
我对此做了一些谷歌。但是找不到我想要的。
调试控制台采用 Perl 表达式,因此如果它是字符串,则需要引用该值。
您必须将程序移动到引发错误的行之前(查看断点,它b <line>
在调试器中),然后设置值。
> $XYZ='ABC'
这是一个很好的资源: http: //obsidianrook.com/devnotes/talks/perl_debugger/
假设您尝试将 $XYZ 设置为字符串 ABC 尝试:
$XYZ = 'ABC'
如果你使用
my $XYZ='ABC'
它将仅在当前范围内定义变量 $XYZ。从调试器中的测试来看,该范围似乎没有扩展到调试控制台之外(即只能在控制台的该行上访问)。例如
DB<2> my $x = "hello"; print "$x"
hello
DB<3> print $x
Use of uninitialized value $x in print at (eval 8)[/usr/share/perl/5.12/perl5db.pl:638] line 2.