Iphone 在iOS模拟器和设备上引发异常时,Xcode调试器中缺少堆栈跟踪
当我的应用程序引发异常时,它会在调试器输出中打印以下内容:Iphone 在iOS模拟器和设备上引发异常时,Xcode调试器中缺少堆栈跟踪,iphone,ios,xcode,debugging,build,Iphone,Ios,Xcode,Debugging,Build,当我的应用程序引发异常时,它会在调试器输出中打印以下内容: First throw call stack: (0x310f88bf 0x3829d1e5 0x31e76015 0x31e7640d 0x31e764c5 0x9e903 0x9edfb 0x32b15d55 0x32b20e8d 0x310cb2dd 0x3104e4dd 0x3104e3a5 0x33c7cfed 0x330c0743 0x3267 0x3220) 软件堆栈: Lion 10.7.2中的Xcode 4.2(未安
First throw call stack:
(0x310f88bf 0x3829d1e5 0x31e76015 0x31e7640d 0x31e764c5 0x9e903 0x9edfb 0x32b15d55 0x32b20e8d 0x310cb2dd 0x3104e4dd 0x3104e3a5 0x33c7cfed 0x330c0743 0x3267 0x3220)
软件堆栈:Lion 10.7.2中的Xcode 4.2(未安装Xcode 4.1) 我倾向于这是一个Xcode错误,但是你看到了我错过的任何明显的东西吗 我试过/检查过的内容 生成设置:
调试
复制期间去除调试符号=否
条状链接产品=否
优化级别=-O0和Os
默认情况下隐藏的符号=是和否
编译器=LLVM 3.0和LLVM GCC 4.2 方案:
调试器=GDB和LLDB 清洁:
清洁
清理生成文件夹
删除派生数据目录(从管理器中删除) 设备:
iOS 5模拟器
iOS 5 iPhone 4
iOS 5 iPhone 3Gs 随机:
我最初在安装Xcode 4.1和4.2时都遇到了这个问题,所以卸载了这两个版本并重新安装了4.2 尝试不同的项目,结果相同 在处理断点时,我在异常之前的调试器输出中看到:
Catchpoint 36 (throw)Catchpoint 37 (catch)Pending breakpoint 2 - "__cxa_begin_catch" resolved
warning: Attempting to create USE_BLOCK_IN_FRAME variable with block that isn't in the frame.
warning: Attempting to create USE_BLOCK_IN_FRAME variable with block that isn't in the frame.
Catchpoint 36 (exception thrown).warning: Attempting to create USE_BLOCK_IN_FRAME variable with block that isn't in the frame.
warning: Attempting to create USE_BLOCK_IN_FRAME variable with block that isn't in the frame.
唯一值得一提的是,开发构建应该完全关闭优化功能,使用
-O0
好的,找到了问题:不是我,而是Joe(一名成员)…但是因为他不在,我将发布他的解决方案
部署目标设置为4.0,但由于4.0调试符号必须在Xcode 4.2中单独下载,因此DSYM无效
2种修复方法:1.从Xcode首选项安装4.0的调试符号。
2.将部署目标设置为4.3或更高版本 在Xcode 4.x中,您是如何下载调试符号的?“首选项->下载”中没有此类选项。