2014-03-01 37 views
2

我正在爲C++中的自定義微控制器編寫一個模擬器程序。我希望用戶能夠使用GDB來調試他們的程序,就好像它運行在真正的目標上一樣。如何在我自己的完整系統模擬器上實現GDB調試?

我發現的最好的解決方案似乎涉及到編寫一個GDB存根用於我的模擬器,它將使用網絡協議與GDB進行通信。但是,這需要編寫一個完整的程序來處理與GDB本身的網絡通信和通信。

這似乎有點矯枉過正,因爲客戶端和目標將在同一臺機器上運行。有沒有更簡單的方法?如果沒有,隨着GDB的普及,我會認爲圖書館,或者至少是例子,將存在幫助嵌入一個正常的桌面PC程序存根(stub)?

回答

0

GDB還支持將模擬器「嵌入」gdb本身。這由gdb中的「target sim」命令調用。

請參閱gdb的sim子目錄,瞭解已經實施的大量模擬器。

相關問題