运行 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 将它写入目标。
在命令行中,可以将命令的输出用作可执行文件的标准输入。例如,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 将它写入目标。