我正在爲C++中的自定義微控制器編寫一個模擬器程序。我希望用戶能夠使用GDB來調試他們的程序,就好像它運行在真正的目標上一樣。如何在我自己的完整系統模擬器上實現GDB調試?
我發現的最好的解決方案似乎涉及到編寫一個GDB存根用於我的模擬器,它將使用網絡協議與GDB進行通信。但是,這需要編寫一個完整的程序來處理與GDB本身的網絡通信和通信。
這似乎有點矯枉過正,因爲客戶端和目標將在同一臺機器上運行。有沒有更簡單的方法?如果沒有,隨着GDB的普及,我會認爲圖書館,或者至少是例子,將存在幫助嵌入一個正常的桌面PC程序存根(stub)?