[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends:00678] 机上デバッグ (was Re:超初心者からの質問です)



前橋です。

故意に脱線します。

yasuyuki@xxxxxxxxxxxx さんは書きました:
>考えても分からなくなった場合、
>
> (1)疲れた頭を休める
> (2)プログラムを印刷してマーカーペン等で分析してみる
>
>ことをおすすめします。

んー、今書いててちょっと遠目の未来には出るかもしれない本には、

「机上デバッグなんて時間の無駄だ!」

という主張を入れようかと思ってたりするんですが。

タイプミスはコンパイラに見つけてもらうもの、バグは動かしながら
取るものだと思います。

「プログラムはプログラマの意図した通りではなく、プログラマの
書いた通りに動作する」なんて意味の言葉がありましたが(正確な
文言、誰か知ってます?)、バグが見つからないのは、書いた人に、
何らかの「思い込み」があるためです。思い込みがあるために、
わかってしまえば明らかなバグが、その時には正しいプログラムに
見えてしまうのです。印刷したリストをどんなに睨んでも、その
「思いこみ」を消さない限り、結果は同じでしょう。

実際に動かしてみて、プログラムのどこがどう意図通りに動いて
いないのかを調べないと、バグは見つからないと思いますよ。

バグ取りの基本はステップ実行。いいデバッガがなければ
System.err.println()でも山のように挟みましょう。

あ、もちろん、

> (1)疲れた頭を休める

こちらには全面的に同意します。

------------------------------------------------------------
  前橋 和弥              PXU00211@xxxxxxxxxxx
                         http://member.nifty.ne.jp/maebashi/
------------------------------------------------------------




------------------------------------------------------------------------
                検索中毒
  http://toolbar.www.infoseek.co.jp/Tbar?pg=tbar_top.html&svx=971121