我在Xcode中使用lldb,其中一個變量包含大量的JSON數據。使用po myVar
對分析此數據沒有太大幫助,因爲它將在微小的Xcode調試控制檯中輸出。將lldb輸出重定向到文件
有沒有辦法將lldb輸出重定向到文件?
我看到here,這樣的功能似乎是可在GDB爲:
(gdb) set logging on
(gdb) set logging file /tmp/mem.txt
(gdb) x/512bx 0xbffff3c0
(gdb) set logging off
和LLDB被 「翻譯」 爲:
(lldb) memory read --outfile /tmp/mem.txt --count 512 0xbffff3c0
(lldb) me r -o/tmp/mem.txt -c512 0xbffff3c0
(lldb) x/512bx -o/tmp/mem.txt 0xbffff3c0
然而,memory read
命令不會幫助我的情況,並且--outfile
似乎不可用於print
命令。
改進:爲什麼不把命令的參數 - 那麼你可以說「print_to_file po self」?另外,我還沒有檢查LLDB是否爲你自動重置句柄,但重置輸出文件句柄似乎是一個好習慣:)最後,實際上你可以爲「下級命令」獲取SBCommandReturnObject(po自我例如)並將其寫入文件而不是劫持lldb的stdout。如果完全可以避免的話,我通常會對使用stdin/stdout的方式進行嘗試。 –
有沒有辦法將* all * debugger的輸出重定向到一個文件? 我試過上面的腳本沒有'HandleCommand'行,它沒有工作。 – blackwing
恩里科,你可以考慮展示一個你自己的例子/答案,改善這一個?我喜歡你的方法的聲音,但我沒有足夠的信息來測試它。 – insitusec