如何使用以下命令传递我在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脚本,我该怎么做。
感谢您的帮助。
答案 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。