Jeff
Jeff

Reputation: 2259

Redirecting debug output from XCode 4 console to a log file

I'm working on automated testing for iPhone, and I need to redirect output from gdb to a log file. Some searching online turned up the following two lines to run at the command line before beginning debugging:

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

...but they don't seem to work for me. I've had problems in the past with functionality from previous versions of Xcode disappearing in newer versions (I'm using XCode 4.0.2). Is that the case here, or is it more likely that I'm just doing something wrong?

Is there another way to tell XCode to send output to a log file? Note that I need to be able to do this from the command line or AppleScript; I can't add anything to the code of the program being run.

Upvotes: 3

Views: 4743

Answers (2)

PBR
PBR

Reputation: 31

You could write wrapper script around gdb that will redirect everything to some log file.

For example, this is location of gdb executable:

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

Example wrapper script placed at the same path as original gdb executable:

#!/bin/sh

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

Upvotes: 3

user681271
user681271

Reputation: 51

The domain name of Xcode 4.0 is com.apple.dt.Xcode Also, in Xcode 4.0, you should use the fol defaults write com.apple.dt.Xcode IDEGDBLogToFile /tmp/logs.txt

Upvotes: 4

Related Questions