[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