我想通過操作C++的彙編指令來「測試」C++中的函數。 做這種事情的最佳方式是什麼?操作組裝指令
我想一種方法是讓它編譯或一個可執行文件,然後由另一個程序,然後試圖操縱它啓動.exe。 如果被測功能有一個點仍在運行但等待某些東西(即用戶輸入),那麼模擬器(啓動被測功能的程序)甚至不需要設置某種類型的斷點進去。
如何啓動程序並操作其組裝說明?
更清楚: 是它實際上可以編寫一個簡單的模擬器(設定斷點或用於第一步驟沒有休息點),然後訪問運行功能被測的存儲器操縱其組裝說明? 這將是一個非常小的簡單版本的大gdb。
我們是在談論脫機操作(如保羅以下建議)或運行時(JIT ),這有時被稱爲動態二進制優化/翻譯? – Leeor
@Leeor我想在程序運行時更改程序。這就是爲什麼我寫了一個斷點。對於我的問題的完美解決方案是設置時間和位置以更改一位/幾位以查看待測功能的行爲方式。 – Daniel
如果你想手動執行,你可以使用gdb。如果您需要將其自動化,您可以在仿真器或模擬器下運行它,並觸發該斷點(或任何其他事件)。 – Leeor