プログラミング言語は色々と進化を遂げています。プログラムを作成する敷居やコストも低下しています。とくに IDE (Integrated Development Environment) がコスト低下に一役買っていることは間違いないです。microsoft Visual Studio や Eclipse 辺りがその代表格でしょう。
では、Perl, PHP, Ruby などの LL (Lightweight Language) の分野ではどうでしょうか?基本的に IDE は使わないです。vi や emacs といったエディタが主流です。
そんなとき、IDE を使っているデベロッパの方々から見て、最も気になるのがデバッグではないでしょうか?
いえいえ、Perl だってちゃんとデバッガがついています。
$ Perl -d foo.pl
-d を使うことで、デバッガが起動します。ブレーク・ポイントを設定したり、ステップ実行やステップ・インなど、IDE と同じようなことが実現できます。Perl -d の使い方については、YAPC::Asia 2006 Tokyo での sekimura-san のセッション できる Perl debugger 音声 Video がオススメです。
でも、デバッガ起動するまでではなかったり、デバッガを立ち上げられなかったり、という人たちには、Perl のコア・モジュールである Carp を使うとよいでしょう。
Perl Best Practices の中でも、もちろん取り上げられています。
Reporting Failure
Have exceptions report from the caller's location,
not from the place where they were thrown.
p.283 - p.284 Chapter13 : Error Handling
perldoc Carpで Carp のドキュメントが読めますが、次のようなメソッドを持っています。
- carp
- warnします。
- cluck
- carp + スタックトレース という感じ。
- shortmess
- carp と croak のメッセージを返します。
- croak
- dieします。
- confess
- croak + スタックトレース という感じ。
- longmess
- cluck と confess のメッセージを返します。
スタックトレースを出力しないと細かなデバッグはできません。Carp モジュールはコア・モジュールだから手軽に利用できるので覚えておくとよいでしょう。
| Perl Best Practices | |
| Damian Conway Oreilly & Associates Inc 2005-08 売り上げランキング : 15,910 おすすめ平均 Amazonで詳しく見る by G-Tools | |
Comments