我正在使用LLDB和最新的OS X工具链( lldb --version
表示 lldb-340.4.110
) .
我试图调试可执行文件,它产生大量输出到stdout . 以前可以通过重定向来抑制输出,例如,到 /dev/null
.
但在最新的OS X工具链更新后,它已开始产生以下错误:
(lldb) run >/dev/null
error: invalid JSON
LLDB在该地区有变化吗?就像添加一些语法来指定stdin / stdout / stderr重定向一样 . 在LLDB文档或邮件列表中找不到任何线索 . 我也可以认为它是Apple特有的LLDB错误 .
P.S.
我知道我的问题可以通过在单独的终端窗口中运行: sudo lldb -w -n <executable>
来临时解决,这将告诉LLDB等待具有给定名称的新进程,然后附加到该进程 . 在这种情况下,我可以在另一个终端窗口中运行我的可执行文件, stdin
重定向到 /dev/null
.
但是我对这个工作流感到非常不舒服,因为stdout重定向只能在我的Linux机器上的GDB中运行 . 打破习惯总是让人不舒服 .
1 回答
会做你想做的 . 您还可以创建别名来执行此操作:
然后:
将运行您的程序,将stdout重定向到/ dev / null,并将a,b和c作为参数传递 .