例えば以下の様なコードをステップ実行したいのですがエラーが出てしまいます。
---
package testmod;
use strict;
use warnings;
use Perl6::Say;
use base qw(Class::Accessor::Lvalue::Fast);
__PACKAGE__->mk_accessors(qw(params));
sub new {
my $class = shift;
my $self = $class->SUPER::new();
$self->params = {param1 => 10};
say $self->params->{param1};
return bless $self, $class;
}
1;
---
問題となっているのは、13行目です。12行目で設定した値を参照しているのですが、
このモジュールをnewするスクリプトをperl -dで実行した場合、
「Can't use an undefined value as a HASH reference at testmod.pm line 13.」とエラーが出てしまいます。
ところがデバッグオプションを指定しない場合は正常に動作します。
雰囲気としてはデバッガが独自で収集しているシンボルの登録が行われていない様なのですが、
何か解決・回避方法等はありますでしょうか。なおステップ実行の対象は自分が書いたものではないので、
コードを修正する以外の方法をお願いしたいです。
コメント(1件)