私がデバッグに使用したほとんどすべての言語ツールは、ブレークポイントとステッピング モードをサポートしているため、一度にスコープ内の特定のデータを監視できます。しかし、プログラム内のコンポーネントのいくつかの謎のパスでデータムを見逃したとき、特に複数の入口と出口を持つ一部のコンポーネントでデータムが蒸発したときは、まだ痛みを感じます.
ツールがデータムに「タグ付け」してそれを追跡し、どの関数 (または他の基本的なコンピューティング ユニット) がそれを飲み込んで変換したかを報告できるツールがあれば、この問題は解決するかもしれません。これは、患者に放射性錠剤を与える医療検査のようなもので、医師はそれを外で追跡できます。バックトレースがほとんど必要であることはわかっていますが、それでも各フレーム間でデータをトレースするのは面倒です。
私の (貧弱な) プログラミング経験によると、最も近いツール/言語は、プログラムの IPO パスの全体像を表すために型システムと構成を使用する Haskell の Arrow メカニズムです。しかし、それはあなたのプログラムがそれが提唱した方法に従う必要があり、それがアイデアを実装するための最良の方法であるかどうかはわかりません. 特に、C、C++、Ruby、Java、JavaScript などの他の言語では、そのように簡単にプログラミングすることはできません。