Python GUIアプリケーションを実行しています。実行可能ファイルのロード、ブレークポイントの設定など、GDBを呼び出して制御したいと思います。GDBには使用可能なコマンドラインインターフェイスがあることがわかります。文字列をGDBプロセスに送信しますが、Pythonの方法です。gdb.py
はありますか?「archer」ブランチには「importgdb」のようなものがあります。 、しかし、UbuntuのデフォルトのPythonインストールでは機能しません。このモジュールはどこで入手できますか、またはPythonからGDBを制御する他の方法はありますか?
はい、PythonからGDBを制御できます。 Pythonドキュメントは http://sourceware.org/gdb/current/onlinedocs/gdb/Python.html#Python にあります。
スクリプトの例が必要な場合は、 http://tromey.com/blog/?p=548 をご覧ください。
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 は、はるかにクールな例を提供します。