嗯......我的老師,我的一些同學和我將建立一個調試器項目。我們希望我們的調試器是交互式的,也就是說,當輸入代碼時,結果將在幾秒鐘後的某個位置顯示,並且輸入代碼更改時結果會改變。另一方面,運行時,我們可以將 回滾到前一行或斷點。「時間旅行調試器」的原理是什麼?
按照我老師的說法,編程時會涉及到「時間旅行調試」技術。我搜索了一些由其他人維護的項目,但我很難理解代碼,並且在這些自述文件中沒有關於此技術的介紹。
參考: https://github.com/mattgodbolt/compiler-explorer
您的老師可能是Dr. Who的粉絲嗎? 「時間旅行編譯」不是一個標準術語。這似乎是他們創造的一句話。你可以問他們他們的意思。 –
這是關於能夠在調試器中設置斷點,然後通過語句執行*反向*查看運行時環境在斷點之前的點*處的狀態。 – Pointy
對於*編譯器*來說,它確實沒有太多的用處,真的;這是一個運行時系統的事情。那麼,我*猜測*編譯器可以生成代碼來維護某種審計上下文,但這似乎是一種非常奇怪的做事方式。 – Pointy