>>4
強制終了・フリーズならばどこで起きるか探る
 → ログ出力したり関係ない箇所を削って絞り込む

結果がおかしい場合は
入力間違い → 入力を固定値で与えてみて比較
処理間違い → 処理が呼ばれているかログ出力などで確認
        影響ある変数を表示したり固定化して比較

デバッガが使えるならブレークポイント・ステップ実行・変数表示
なければ ソースに print系処理をバラまく