時々警告を発するコードパスがあります。このパスは何度も使用されるため、各パスで中断したくありません。警告が発生したときにのみ中断するにはどうすればよいですか?
2 に答える
3
警告に「シグナルハンドラー」を使用してフラグを設定し、フラグが設定されたときにブレークすることができます。
our $warn_flag = 0;
$SIG{__WARN__} = sub { $warn_flag = 1; CORE::warn(@_) };
...
for $i (1 .. 1_000_000_000) {
do_something_that_might_warn();
$DB::single ||= $warn_flag;
$warn_flag = 0;
}
于 2013-02-19T17:53:46.043 に答える
1
use warnings qw(FATAL);
これにより、警告が字句スコープのエラーに変換され、デバッガーが自動的に中断します。
于 2013-02-19T18:58:42.797 に答える