記得剛開始學C語言的時候,用vc的F10來調試程序,經常就是一陣狂按,然後一不小心按過了。結果又得從頭再來,那時候我就問我的老師,能不能倒退回去幾步。我的老師很遺憾地和我說,不行,開弓沒有回頭箭。這句話至今我還記得,而且,我也是一直這麼認為的。
直到今天,才發現GDB竟然有反向調試這個逆天的BUG,這是介紹它的一篇博客!博客地址
關於這個反向調試,我個人的理解是,它要求程序在運行起來之後通過record命令來啟動記錄,然後接著往下執行才能進行反向調試,也就是說這個程序只是把調試的每一步現場信息給記錄下來了,然後輸入一個rn或者rs就返回到那個記錄的信息之上!