我正在为iPhone进行自动化测试,我需要将输出从gdb重定向到日志文件。一些在线搜索在开始调试之前在命令行中显示以下两行:
defaults write com.apple.Xcode PBXGDBDebuggerLogToFile YES
defaults write com.apple.Xcode PBXGDBDebuggerLogFileName <filepath>
......但它们似乎对我不起作用。我以前遇到过一些问题,早期版本的Xcode的功能在新版本中消失了(我正在使用XCode 4.0.2)。这是这种情况,还是我更有可能做错了什么?
是否有另一种方法告诉XCode将输出发送到日志文件?请注意,我需要能够从命令行或AppleScript执行此操作;我无法在正在运行的程序的代码中添加任何内容。
答案 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