とくにあぶなくないRiSKのブログ

危ないRiSKのブログだったかもしれない。本当はRiSKだけどググラビリティとか取得できるIDの都合でsscriskも使ったり。

「現在の状態」と「時間的な経過」

きむらさんにいただいた「達人プログラマー」を読んでいます。
この本のP95に次のようにあります。

トレース
デバッガーは通常の場合,プログラムの「現在の状態」に焦点を当てます。しかしプログラムの状態やデータ構造の「時間的な経過」を観察する必要に迫られる場合もしばしば出てきます。しかしスタック・トレースからは,現在の状態に到達するまで直接どのようなことが行われてきたか,ということしか判らないのです。呼び出しチェーンの以前に行われたことが観察できない,という制限は特にイベント駆動型システムをデバッグする際に大きな制約となります。

これを読んで,次のウェブページを思い出しました。

最初に断っておきますが、「バグベアードがあればデバッガは不要」などと言うつもりもありませんし、情報収集のアスペクトが直交する(※)関係になるのでむしろデバッギングツールとしては相補する関係になると考えます。
Wraith the Trickster

※ある瞬間のシステム全体の情報...いわば空間に対して強いデバッガと、時間に対して強いバグベアードはその情報収集のアスペクトが直交します。
バグベアード - extra - C++ - TrickLibrary

頭いい人たちは異なる複数の視点を持っているんだなぁと思いました。
バグベアードは変態ちゃんなので変態はこぞって使ってみるべきだと思うよ。

達人プログラマー―システム開発の職人から名匠への道
アンドリュー ハント デビッド トーマス
ピアソンエデュケーション
売り上げランキング: 46803
おすすめ度の平均: 4.5
5 この本の内容は「常識」と言えるようになりたい
3 訳注が親切
5 一流プログラマーになりたい人は必読の本です
5 伝える事柄と伝える方法は車の両輪
4 素人から玄人への道