2015-11-02 76 views
1

我正在使用LLDB與最新的OS X工具鏈(lldb --versionlldb-340.4.110)。LLDB重定向劣勢stdout

我試圖調試生成大量輸出到標準輸出的可執行文件。以前有可能通過重定向來抑制輸出,例如,到/dev/null

但最新的OS X工具鏈更新後,它已經開始生產了以下錯誤:

(lldb) run >/dev/null 
error: invalid JSON 

有事在LLDB改變在這一領域?像添加一些用於指定stdin/stdout/stderr重定向的語法。在LLDB文檔或郵件列表中找不到任何線索。我也可以假設它是蘋果專用的LLDB錯誤。

P.S.

我知道我的問題可以暫時通過運行解決:在單獨的終端窗口 sudo lldb -w -n <executable>,它會告訴LLDB等待新的工藝與給定的名稱,然後附加到進程。在這種情況下,我可以在另一個終端窗口中運行我的可執行文件,stdin重定向到/dev/null

但是我對這個工作流感到非常不舒服,因爲stdout重定向只能在我的Linux機器上的GDB中工作。打破習慣永遠不舒服。

回答

3
(lldb) process launch -o /dev/null -- <OTHER ARGUMENTS> 

會做你想做的。您也可以讓一個別名做到這一點:

(lldb) command alias silent-run process launch -o /dev/null -- 

則:

(lldb) silent-run a b c 

將運行您的程序,標準輸出重定向到/ dev/null的,並通過A,B和C作爲參數。

+0

'-o'的長形式似乎是'--stdout'。還有'--stderr'和'--stdin'選項。 – user31389