对于iPhone应用程序,我需要将调试数据收集到一个文件中,以便发送到在线服务进行分析。通过将stderr
输出转移到文件句柄并在适当时发送文件,这可以正常工作。 (NSLog
输出也会在stderr
中结束,因此这可以全面运行。)同样的方法也适用于stdout
。
以下是我如何保存文件:
freopen(cStringFilePath, "a+", stderr) // or stdout
上面正确地返回了UnsafeMutablePointer<FILE>
我跟踪的内容,以便在必要时关闭文件。
但是,我需要 一个文件中的stdout
和stderr
的内容,并且逐行使用正确的时间顺序。
原因是我正在尝试调试产生诊断输出的第三方框架,但将其写入stdout
而不是stderr
。
知道怎么做到这一点吗?
答案 0 :(得分:2)
您是否尝试过两次致电freopen
?一次使用stderr
,一次使用stdout
?当我尝试它时,我认为这对我的目的很好。