我目前正在编写pythonggdb脚本。问题是它必须与gdb7.1兼容。因此,我首先为GDB 7.3.1编写了脚本,并使用以下函数接收GDB命令的输出(GDB 7.3.1):myvar = gdb.execute("info target", False, True)
这个函数的最后一个参数是它应该以字符串的形式返回结果(这很有意义;否则我为什么要执行这样的命令?)
在gdbversion7.1中,最后一个参数isn't available是这样的(gdb7.1):
^{pr2}$
返回None。在
是否有机会检索此命令的输出?我已经尝试将python脚本的标准输出重定向到一个文件中,然后加载这个文件,但是显然python脚本的标准输入和输出是overwritten by the gdb environment,因此gdb.执行命令没有写入我的文件。在
我现在唯一能想到的就是用一个bash脚本来包装我的脚本,这个脚本首先用一个python脚本打开gdb,该脚本执行各种命令,然后通过管道将其传输到一个文件中。然后再次打开gdb,但使用另一个python脚本加载文件,解析它,然后根据文件的输入执行其他命令,依此类推。但这是我能想到的最丑陋的解决方案。在
那么有没有一种方法可以接收gdb.执行在GDB7.1中?在