我正在運行Python GUI應用程序。我想從它調用和控制GDB,比如加載一個可執行文件,設置斷點等等。我看到GDB有一個命令行界面,可以通過向GDB進程發送字符串來使用,但是我想以Python方式。有沒有gdb.py
?我看到「archer」分支有類似「import gdb」的分支,但它在Ubuntu默認的Python安裝中不起作用。我在哪裏可以得到這個模塊或者是否有其他方法來從Python控制GDB?從Python中調用並控制GDB
20
A
回答
16
是的,你可以從Python控制GDB。 Python文檔位於http://sourceware.org/gdb/current/onlinedocs/gdb/Python.html#Python。
如果你想一些腳本的例子,看看http://tromey.com/blog/?p=548
+0
thx 。我已經在我的問題中提到了這個弓箭手分支。這似乎是一項正在進行中的工作。我要給它一個鏡頭。但我真正想要的是一個與現有GDB掛鉤的python模塊,而不是射手之一。 – Seeker 2010-08-17 06:01:51
2
pygdbmi是你想要的。
有了它,我能夠使用從Python的復位嵌入目標執行以下操作:
from pygdbmi.gdbcontroller import GdbController
if __name__ == '__main__':
gdbmi = GdbController()
response = gdbmi.write('b main')
response = gdbmi.write('target remote localhost:2331')
response = gdbmi.write('mon reset 0')
response = gdbmi.write('c')
gdbgui提供了更冷卻器的例子。
相關問題
- 1. 從C++調用和控制GDB
- 2. 從python腳本調用gdb
- 3. 如何使用Python subprocess.Popen控制gdb?
- 4. 控制終端和GDB
- 5. 控制寄存器和gdb
- 6. 調用從Angular.js控制器
- 7. 調用從角控制器
- 8. 用gdb調試
- 9. 從控制檯調用定製的gem
- 10. 如何從python訪問gdb
- 11. 調用從控制器從404路線
- 12. 調試時GDB崩潰 - 無控制檯輸出?
- 13. 從Laravel控制器調用Javascript函數並返回數據
- 14. 從GDB列出可調用的函數
- 15. 用gdb調試C
- 16. 使用gdb調試回調
- 17. 從python控制shell stdin
- 18. 從Python控制瀏覽器
- 19. 控制從Python的進程
- 20. 如何從python控制MT4?
- 21. 如何控制從使用Python
- 22. 用Python控制rsync?
- 23. monodevelop gdb未能設置控制終端
- 24. gdb控制跳轉到隨機位置
- 25. 從crontab調用python腳本並激活
- 26. 從shell調用python並捕獲輸出
- 27. 調用一個python腳本,並從Javascript
- 28. 通過Python從Python控制VirtualBox?
- 29. ExtJs5:從控制器1調用控制器2的方法
- 30. 角度控制器從不同的模塊控制器調用
A如何做ABC問題:http://stackoverflow.com/questions/4060565/how-to-script-gdb-with-python-example-add-breakpoints-run-what-breakpoint-d – 2015-07-04 21:49:58