2015-10-06 213 views
0

我的python文件应该存储在哪里,以便我可以使用gdb来运行它。我有位于/ usr/local/myproject/bin的自定义gdb。我通过从上述位置调用./arm-none-eabi-gdb来启动我的gdb会话。从python脚本调用gdb

我不知道这个gdb和python是如何相互融合的。

任何人都可以帮忙。

+0

它们没有彼此整合。你可以做'import os; os.system(“./ arm-none-eabi-gdb”)' – ForceBru

+0

我想建立交互式会话,以便我可以执行我的python脚本,并在python脚本中调用gdb命令并记录输出。我想在我的python脚本中输入gdb – user2118095

+0

@ForceBru'它们没有相互集成。'错误的答案。它们很好地集成在一起。它们相互融合。 https://sourceware.org/gdb/onlinedocs/gdb/Python.html#Python –

回答

1

你最好使用Python子模块 - 你可以从蟒蛇开始GDB和蟒蛇驱动GDB,传递命令的即时

https://docs.python.org/3.6/library/subprocess.html#subprocess.run

+0

我想建立交互式会话,以便我可以执行我的python脚本,并且在python脚本中我想调用gdb命令并记录输出。我想在我的Python脚本 – user2118095

+0

@ user2118095中导入gdb,你可能想看一下https://sourceware.org/gdb/onlinedocs/gdb/Python.html#Python –

0

我能弄清楚。我理解的是

GDB嵌入Python解释器,以便它可以使用Python作为扩展语言。

你不能像从普通的Python库那样从/ usr/bin/python中导入gdb,因为GDB并不是一个库。

你可以做的是从gdb中获取MY-SCRIPT.py(相当于运行gdb -x MY-SCRIPT.py)。