最近,我開始在C++中使用reverse debugging with gdb,它對於某些類型的問題(例如循環和遞歸算法)非常適用。除gdb之外,還有其他用於C/C++的商業調試器(例如,UndoDB)。對C/C++以外的語言進行反向調試
我不知道其他語言是否有很好的可逆調試器? 我對Java和Ruby特別感興趣,但是這個問題對任何語言都是開放的。
我發現的另一種方法是在虛擬機上運行應用程序並連接到它。我知道的唯一實現(但從未測試過)是VMware's Replay Debugging。我不知道它適合哪種類型的調試任務。對於大多數常見問題似乎是過度的,但調試通常很難再現的通信或同步問題可能很有用。
背景資料:
- 術語 「反向調試」 由GDB使用。然而,也有許多同義詞:
- 「可逆調試」
- 微軟稱它的IntelliTrace或「歷史調試」
- 在Java中,這樣的調試器有時被稱爲一個「Ominiscient調試器」
- (上programmers.stackexchange)Why is reverse debugging rarely used?
您可以結帳[this](https://www.researchgate.net/profile/Jakob_Engblom/publication/261039109_A_review_of_reverse_debugging/links/54f70fed0cf2ccffe9d9a19b.pdf)查看關於反向調試的論文。 –