将调试输出从XCode 4控制台重定向到日志文件

时间:2011-07-18 22:50:23

标签: xcode gdb

我正在为iPhone进行自动化测试,我需要将输出从gdb重定向到日志文件。一些在线搜索在开始调试之前在命令行中显示以下两行:

defaults write com.apple.Xcode PBXGDBDebuggerLogToFile YES
defaults write com.apple.Xcode PBXGDBDebuggerLogFileName <filepath>

......但它们似乎对我不起作用。我以前遇到过一些问题,早期版本的Xcode的功能在新版本中消失了(我正在使用XCode 4.0.2)。这是这种情况,还是我更有可能做错了什么?

是否有另一种方法告诉XCode将输出发送到日志文件?请注意,我需要能够从命令行或AppleScript执行此操作;我无法在正在运行的程序的代码中添加任何内容。

2 个答案:

答案 0 :(得分:4)

Xcode 4.0的域名是com.apple.dt.Xcode 此外,在Xcode 4.0中,您应该使用fol 默认写入com.apple.dt.Xcode IDEGDBLogToFile /tmp/logs.txt

答案 1 :(得分:3)

您可以在gdb周围编写包装脚本,将所有内容重定向到某个日志文件。

例如,这是gdb可执行文件的位置:

/Developer/Platforms/iPhoneOS.platform/Developer/usr/libexec/gdb/gdb-arm-apple-darwin

放置在与原始gdb可执行文件相同路径的示例包装脚本:

#!/bin/sh

/Developer/Platforms/iPhoneOS.platform/Developer/usr/libexec/gdb/gdb-arm-apple-darwin- $* | tee -a $HOME/tmp/xcode-gdb.log 2>&1