2009-12-10 56 views

回答

6

Visual Studio 2010中的新IntelliTrace歷史調試器功能似乎符合您的要求。見Debugging With IntelliTrace

調試使用IntelliTrace,在Microsoft Visual Studio 2010 終極可用 ,提供 傳統調試器相比,您的應用程序的增強畫面 。傳統的 調試器顯示當前時間 應用程序的狀態, 有關 過去發生的事件的有限信息。您必須根據當前時間 應用程序的狀態或 重新啓動應用程序以重新創建 過去事件來推斷過去發生的事件 。使用IntelliTrace,您可以實際看到 在過去發生的事件以及 發生的事件。這會減少重新啓動的次數 ,這些重新啓動是調試 您的應用程序所需的重啓次數以及 重新運行應用程序時錯誤將無法重現 的可能性。

-1

我從來沒有使用調試器的能力退後。我只是做了谷歌搜索,並沒有發現太多......

我發現這一點: http://video.google.com/videoplay?docid=3897010229726822034

搜索「比爾·劉易斯調試器」促使我: http://undo-software.com/undodb_about.html

的能力,向後退步意味着保留很多狀態:如果您在一行代碼中更改了一個變量,然後您想要退後一步,那麼可能該變量應該恢復到之前的值。如果你改變一個寄存器,它應該恢復到它以前的值,並且包括標誌寄存器。如果你分配了內存,大概它應該被解除分配。等等。總的來說,這是一項很大的工作。看起來這個調試器正在使用寫入時複製技術來實現所有這些。我猜如果像VirtualBox這樣的虛擬機是可能的,那麼也是如此。

這仍然不是主流功能。我的一個特色是常見的是「設置下一行」的能力。假設你調用一個函數,它返回一個令你感到驚訝的值;您將「下一行」設置爲函數之前的行,然後單步執行該函數。微軟的Visual Studio調試器可以做到這一點,所以可以gdb(jump命令)。如果函數損壞堆棧,此功能的使用受到限制。那麼,你真的需要重新開始!

計算機已經變得如此之快,從頭開始的痛苦遠不如以前那麼痛苦。您可以在要返回的點之前設置斷點,然後從頭開始重新運行該程序。

0

博士計劃,也被稱爲PLT Scheme,可以讓你在計劃程序中倒退和前進。據我所知,儘管我沒有太多用處,但對維持國家的全力支持。運行在Windows,Mac和Linux上。

1

Chronon的Java支持全退一步,看到在任何時間點的整個狀態信息。