Xcode 4.2不输出退出代码?

时间:2011-10-14 18:58:51

标签: ios xcode ios5 xcode4.2

自从更新到iOS 5和Xcode 4.2后,似乎Xcode在完成运行后不再打印"Program ended with exit code: #"。有没有人注意到这一点,有没有办法再次启用它?我有一个自动测试工具,它依赖于这个输出来确定测试是否通过,所以将它恢复是非常有帮助的。

更新:我更详细地研究了这一点,这似乎是一个更深层次的问题。似乎每当我运行一个应用程序时,它会在退出时因分段错误而崩溃。有时这会在打印退出代码之前发生,有时会在之后发生,这就是退出代码消息不一致的原因。 seg故障消息出现在设备的控制台中,尽管Xcode调试输出中没有任何内容。

1 个答案:

答案 0 :(得分:3)

我也注意到了这一点。似乎在Xcode 4.1中{tty /dev/ttys000gdb就是这样开始的:

This GDB was configured as "--host=i386-apple-darwin --target=arm-apple-darwin".tty /dev/ttys000

但是在Xcode 4.2中 - 没有tty /dev/ttys000

This GDB was configured as "x86_64-apple-darwin".sharedlibrary apply-load-rules all

要修复此,您可以从命令行(Terminal.app/iTerm/etc)执行以下操作:

echo 'tty /dev/ttys000' >> ~/.gdbinit
# Or, put it into the global gdb config:
# echo 'tty /dev/ttys000' >> /etc/gdb.conf

然后重新启动Xcode,然后退出退出代码!


似乎Xcode 4.2的gdb包装器自4.1以后发生了变化

[ 13:29 Jonathan@MacBookPro / ]$ ls -l /Developer/Library/Xcode/PrivatePlugIns/DebuggerLLDB.ideplugin/Contents/MacOS/DebuggerLLDB /Developer-4.2/Library/Xcode/PrivatePlugIns/DebuggerLLDB.ideplugin/Contents/MacOS/DebuggerLLDB 
-rwxrwxr-x  1 root  admin  351936 Sep 20 13:23 /Developer/Library/Xcode/PrivatePlugIns/DebuggerLLDB.ideplugin/Contents/MacOS/DebuggerLLDB
-rwxrwxr-x  1 root  admin  353776 Oct  8 14:21 /Developer-4.2/Library/Xcode/PrivatePlugIns/DebuggerLLDB.ideplugin/Contents/MacOS/DebuggerLLDB

[ 13:33 Jonathan@MacBookPro / ]$ ls -l /Developer/Library/Xcode/PrivatePlugIns/DebuggerGDB.ideplugin/Contents/MacOS/DebuggerGDB /Developer-4.2/Library/Xcode/PrivatePlugIns/DebuggerGDB.ideplugin/Contents/MacOS/DebuggerGDB
-rwxrwxr-x  1 root  admin  1976144 Sep 20 13:23 /Developer/Library/Xcode/PrivatePlugIns/DebuggerGDB.ideplugin/Contents/MacOS/DebuggerGDB
-rwxrwxr-x  1 root  admin  1948240 Oct  8 14:21 /Developer-4.2/Library/Xcode/PrivatePlugIns/DebuggerGDB.ideplugin/Contents/MacOS/DebuggerGDB