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

将调试输出从XCode 4控制台重定向到日志文件,xcode,gdb,Xcode,Gdb,我正在为iPhone进行自动测试,我需要将gdb的输出重定向到日志文件。一些联机搜索在开始调试之前在命令行上运行以下两行: defaults write com.apple.Xcode PBXGDBDebuggerLogToFile YES defaults write com.apple.Xcode PBXGDBDebuggerLogFileName <filepath> 默认写com.apple.Xcode PBXGDBDebuggerLogToFile是 默认写入com.ap

我正在为iPhone进行自动测试,我需要将gdb的输出重定向到日志文件。一些联机搜索在开始调试之前在命令行上运行以下两行:

defaults write com.apple.Xcode PBXGDBDebuggerLogToFile YES
defaults write com.apple.Xcode PBXGDBDebuggerLogFileName <filepath>
默认写com.apple.Xcode PBXGDBDebuggerLogToFile是
默认写入com.apple.Xcode PBXGDBDebuggerLogFileName
……但它们似乎不适合我。我曾经遇到过一些问题,以前版本的Xcode功能在新版本中消失了(我使用的是Xcode 4.0.2)。是这样的,还是我更可能只是做错了什么


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

您可以围绕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

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