在GDB中将一个.py脚本的输出传递给另一个.py脚本

时间:2016-07-29 04:34:11

标签: python gdb

如何使用以下命令传递我在GDB中执行的一个.py脚本的输出:

(gdb)source myfilename.py 

到另一个.py脚本myfilename2.py

例如:在GDB中运行myfile myfilename.py时,我得到以下结果

(gdb)source myfilename.py
(gdb)print $function("input")
(gdb)$1 = someoutput`

如果我想将$ 1作为输入传递给另一个.py脚本,我该怎么做。

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

我不确定你是否可以在gdb中运行其他python程序输出到另一个,但当然你可以传递这样一个命令的输出。

   (gdb) run "`python -c 'print "\xff\xff\xff\xff"'`"

可能你可以尝试传递第二个.py文件而不是命令,将其输出传递给第一个.py。

答案 1 :(得分:0)

您不能将GDB变量$ 1的内容用于程序输入,因为程序启动是由shell执行的,而不是由gdb执行的。

您可以将脚本输出存储在文件中,为可执行文件启动gdb并使用命令

(gdb)run <outputfile

或者使用命名管道,如建议in this answer