运行 LLDB 中的文件使用命令的输出

Run file in LLDB using output of a command

在命令行中,可以将命令的输出用作可执行文件的标准输入。例如,pbpaste returns OSX 上剪贴板的值。我可以 运行 使用它的程序,例如pbpaste | ./program

这在 LLDB 中也可行吗?

lldb 只有在启动程序并与其共享终端时才能访问程序的 stdio。所以你不能总是这样做。

没有 lldb 命令将文本发送到调试对象的标准输入,但您可以使用 SBProcess.PutSTDIN:[=12= 从 Python 写入进程标准输入(如果可能) ]

https://lldb.llvm.org/python_api/lldb.SBProcess.html#lldb.SBProcess.PutSTDIN

所以你可以很容易地使用 Python 命令来运行你想要的 shell 命令,获取输出,然后使用这个 API 将它写入目标。