読者です 読者をやめる 読者になる 読者になる

理系学生日記

おまえはいつまで学生気分なのか

忍者TOOLS

Carp で強制的にスタックトレースを表示させる

perl

モジュール内でエラーメッセージを出力する際にはよく、Carp モジュールの carp や croak が用いられますが、これらのメソッドは通常ではスタックトレースを伴いません。しかし、デバッグの最中でこのメッセージはどこで出力されたのか、どういうコールスタックを経て出力されたのかを知りたい場合があります。

これらの要望に答えるために、Carp モジュールには carp や croak に対し、スタックトレースを伴わせるように命令するオプションが備えられています。方法は単純で

  • Carp モジュールに verbose を渡す
perl -MCarp=verbose hoge.pl
  • $Carp::Verbose に真値をセットする

のいずれかで OK です。

ref: carp - search.cpan.org