Macos LLDB重定向下位标准输出
我将LLDB与最新的OSX工具链一起使用(Macos LLDB重定向下位标准输出,macos,lldb,Macos,Lldb,我将LLDB与最新的OSX工具链一起使用(LLDB--version表示LLDB-340.4.110) 我尝试调试可执行文件,该文件将大量输出到标准输出。 以前,可以通过重定向来抑制输出,例如重定向到/dev/null 但在最新的OS X工具链更新之后,它开始产生以下错误: (lldb) run >/dev/null error: invalid JSON 那个地区的LLDB有什么变化吗?比如添加一些语法来指定stdin/stdout/stderr重定向。在LLDB文档或邮件列表中找不到
LLDB--version
表示LLDB-340.4.110
)
我尝试调试可执行文件,该文件将大量输出到标准输出。
以前,可以通过重定向来抑制输出,例如重定向到/dev/null
但在最新的OS X工具链更新之后,它开始产生以下错误:
(lldb) run >/dev/null
error: invalid JSON
那个地区的LLDB有什么变化吗?比如添加一些语法来指定stdin/stdout/stderr重定向。在LLDB文档或邮件列表中找不到任何线索。我还可以假设这是苹果特有的LLDB错误
p.S.
我知道我的问题可以通过跑步暂时解决:
sudo lldb-w-n
在单独的终端窗口中,该窗口将告诉lldb等待具有给定名称的新进程,然后附加到该进程。在这种情况下,我可以在另一个终端窗口中运行我的可执行文件,并将stdin
重定向到/dev/null
但是我对这个工作流程感到非常不舒服,因为stdout重定向只在我的Linux机器上的GDB中工作。打破习惯总是令人不舒服的
(lldb) process launch -o /dev/null -- <OTHER ARGUMENTS>
然后:
将运行程序,将stdout重定向到/dev/null,并将a、b和c作为参数传递。长形式的
-o
似乎是-stdout
。还有--stderr
和--stdin
选项。
(lldb) command alias silent-run process launch -o /dev/null --
(lldb) silent-run a b c