実際に可逆デバッガを使った人はいますか? Google が見つけた唯一の製品はUndoDBです。どうやらLinux専用です。
11 に答える
最新のgdbバージョン7.0(今週リリース)は、多くのプラットフォーム(たとえば、ネイティブi386およびx86_64 linux、VMwareワークステーション、UndoDB、VirtutechのSimicsシミュレーター)での逆デバッグをサポートしています。 ftp://ftp.gnu.org/pub/gdb
これは、VMwareワークステーション7.0の最新のプレビュー/プレリリースで動作し、VisualStudioデバッガーを使用したMSWindowsゲストの逆デバッグもサポートします。http://communities.vmware.com/community/beta/workstationでワークステーション7.0の無料試用版をダウンロードし、 http://communities.vmware.com/docs/DOC-10714で役立つ使用上のヒントを見つけてください。
新しくリリースされた gdb-7.0 には、ネイティブ Linux x86 および x86_64 のリバース デバッグ機能が含まれています。いつものように任意の Linux プログラムをデバッグし、「記録」機能をオンにできます。その時点から、前進しすぎた場合は、ブレークポイントまで後退または逆続行できます。
興味深い歴史的なメモとして、EXDAMS は MULTICS のために 60 年代後半にポストモーテム リバース デバッグを実装しました。
はい、 2005 年からVirtutech Simicsをリバースで使用しています。非常に便利で、ほとんどのバグを簡単に修正できます。特に、タイミングと競合状態、およびマルチコア/スレッドの「heisenbugs」に関連するもの。
http://jakob.engbloms.se/archives/1547、http://jakob.engbloms.se/archives/1554、およびhttp://jakob.engbloms.se/archives/1564を参照して、最もよく知られているリバース デバッガーの一覧を確認してください。デートしようとします。
この質問は古いですが、リバースデバッグは依然として興味深いトピックであるため、更新された回答を投稿すると思いました。私の論文、Combining reverse debugging and live programming against visual scaling in computer programmingでは、歴史的なアプローチのいくつかをカバーし、全知のデバッグと真のリバース デバッグの違いを説明しています。
ある時点までプログラムを前方実行したコンピュータは、実際にそれに関する情報を提供できるはずです。このような改善は可能であり、全知デバッガと呼ばれるものに見られます。これらは通常、リバース デバッガーとして分類されますが、より正確には「履歴ログ」デバッガーと呼ばれる場合があります。これは、プログラマーが実行中のプログラムで実際に時間をさかのぼって実行できるようにするのではなく、実行中に情報を記録して後で表示またはクエリするだけであるためです。 . 「全知」は、記録されたプログラムの状態履歴全体が、実行後にデバッガーで利用できるという事実に由来します。その後、プログラムを再実行する必要はなく、手動でコードを計測する必要もありません。
ソフトウェアベースの全知デバッグは、1969 年の EXDAMS システムで始まり、「デバッグ時履歴再生」と呼ばれていました。GNU デバッガーである GDB は、2009 年以来、「プロセスの記録と再生」機能を備えた全知のデバッグをサポートしています。TotalView、UndoDB、および Chronon は、現在利用可能な最高の全知デバッガーのように見えますが、商用システムです。Java の場合、TOD は最良のオープンソースの代替手段であると思われます。これは、部分的な決定論的リプレイ、部分的なトレース キャプチャ、および関連する大量の情報の記録を可能にする分散データベースを利用します。
記録のナビゲーションを許可するだけでなく、実際に実行時間をさかのぼることができるデバッガーも存在します。これらは、バックインタイム、タイムトラベル、双方向、またはリバース デバッガーとしてより正確に説明できます。
最初のそのようなシステムは、1981 年の COPE プロトタイプでした...
VS 2010 には、このようなものがあるはずだと思います。
はい、90 世紀に使用したことがあります。Watcom C Debugger (FORTRAN や他のほとんどの言語も理解できる) には、時間を前後に移動できるオプションがありました。
それは素晴らしいことですが、大きな新しいことではありません...
VMware Workstation の最新リリースで利用可能な VMware の Replay Debugging の使用を検討できます。試用版はhttp://www.vmware.com/products/ws/からダウンロードでき、Visual Studio で動作します。
(免責事項: 私はこの製品ではなく VMware で働いています。)