質問
一般的なデバッグ手法について、どのような読み方をお勧めしますか?特定のプラットフォームソリューションよりも原則とベストプラクティスに興味があります。記録に関しては、主に.NET(F#、C#)で作業し、HaskellとOcamlで手を出します。
これらの金曜日の夜の1つは、家に帰るときに同僚とデバッグについて話しました。 VisualStudioデバッガーからライブオブジェクトの状態を表示および変更できることを知って驚いた。彼はまた、彼が知っている別の開発者である「Javaの第一人者」であると述べました。かつて彼にデバッグの魔法を見せ、デバッグに関する記事や小冊子を渡したが、それは私の同僚の最初の「それに何もない」に挑戦した。姿勢。バグを探しているよりも多くの時間を費やしてきたので、私も同様に挑戦する準備ができています。推奨するリンクはありますか?
解決
私は多くのデバッグの本と考えを研究しました。おそらく最良の方法は、思考によるデバッグです。言う必要があるすべてを、論理的な方法で、読みやすいパッケージでカバーしていると思います。
他のヒント
テスト駆動開発( TDD)。ウィキペディアの記事から:
newで純粋なTDDを使用するプログラマ (" greenfield")プロジェクトはそれらを報告します 起動する必要性を感じることはほとんどありません デバッガ。
個人的な観点からは、ユニットテストを多く作成すればするほど、デバッガで費やす時間が少なくなるというのが私の経験です。
特に.NETについては、に素敵な記事があります。属性を使用した簡単なデバッグ。
David Agansの優れた本デバッグを強くお勧めします。
特にプログラミングについてではありませんが、原則は普遍的です。ここにあるテクニックの1つは、診断機能において最大の飛躍をもたらしました。つまり、修正をバックアウトして、修正が問題を修正したことを証明します。
ネイティブアプローチ(win32)を使用しますが、高度なWindowsデバッグは素晴らしい本。
Ian Taylorのが好きです。
Tess Ferrandezのブログ壊れている場合は修正する必要がありますは両方とも直接です.Netデバッグで発生する可能性が高い特定の実際のシナリオに関連します(通常はASP.Netが関係します)。
John Robbinsのデバッグ書籍およびブログも同様に読む価値があります。
マイクストールの.Netデバッグブログも同様です。
Mark Russinovichのブログは注目に値します- Windowsの内部構造と優れたフォレンジックスキルの組み合わせが印象的です。