【问题标题】:How to use Python to create GDB subprocess and send commands dynamically based on output?如何使用 Python 创建 GDB 子进程并根据输出动态发送命令?
【发布时间】:2014-07-28 16:48:56
【问题描述】:

这是我需要做的一般示例:

例如,我将通过从程序向 GDB 发送命令“bt”来启动回溯。然后我会搜索诸如“pardrivr”之类的单词,并使用正则表达式获取与其关联的行号。然后我将“f [line_number_of_pardriver]”输入到 GDB。将重复此过程,直到最终提取出正确的信息。

我想使用 Python 通过创建 GDB 的子进程来完成此任务。然后我想向 GDB 发送命令并从 GDB 读取输出。我会使用输出根据输出的内容动态地向 GDB 发送更多命令。

谁能提供一个简单的例子来说明如何做到这一点?

非常感谢!

【问题讨论】:

标签: python linux io gdb subprocess


【解决方案1】:

使用 Pexpect:http://pexpect.readthedocs.org/en/latest/examples.html

更基本的选择是使用subprocess.Popen().communicate()

http://pymotw.com/2/subprocess/#popen2

【讨论】:

    猜你喜欢
    • 2018-04-16
    • 1970-01-01
    • 2012-01-07
    • 1970-01-01
    • 2021-12-10
    • 2022-08-22
    • 2012-05-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多