デバッグの進め方
デバッグは、プログラムの不具合を見つけて直す作業です。手順を決めておくと、闇雲に書き換えずに済みます。
基本の手順
関数の途中で、扱っているデータを出力します。Pythonなら print、JavaScriptなら console.log です。
出力する位置を少しずつずらして、想定どおりでなくなる場所を探します。
その場所の直前で、値がどう変わっているかを確かめます。
どこで壊れているかが分かれば、直し方はたいてい見えてきます。エラー文の読み方はエラーメッセージの読み方にまとめています。
無限ループの場合
出力が止まらない、あるいは応答がなくなる場合は、ループの条件が変化していない可能性があります。
この場合は、適切な回数でループを止める処理を入れてからデバッグしてください。数回分だけ動かせば、変わるはずの値が変わっていないことを確認できます。
起きやすい場面
連結リストの走査、whileループ、再帰の3つで起きやすくなります。いずれも、次に進むための更新を書き忘れることが原因です。