2012-09-30 82 views
1

当我更新到xcode 4.5和我的设备到iOS 6后,我的应用程序在启动时崩溃。在模拟器上它工作正常,但是当我在设备上运行它时,它崩溃了。更新xcode 4.5和iOS 6后开始应用程序崩溃

它加载的加载屏幕,然后崩溃,它说:

dyld`dyld_fatal_error: 
0x2fe8b0c4: trap <-- Thread 1: trace 
0x2fe8b0c8: nop 

dyld: vm_protect(0x00001000, 0x00582000, false, 0x07) failed, result=2 for 
segment __TEXT in /var/mobile/Applications/*number*-****-****-****- 
*number*****/appname.app/appname 
(lldb) 

我有这个问题,重建我的整个应用


,它也说:

(null): PIE disabled. Absolute addressing (perhaps -mdynamic-no-pic) not allowed in code signed PIE, but used in ___block_global_101 from /Users/me/Library/Developer/Xcode/DerivedData/appname-csulsqjo‌​qjjyyahcxrvjqbpzyxot/Build/Intermediates/appname.build/Debug-iphoneos/appname.build/Objects-normal/armv7s/GameViewController.o. To fix this warning, don't compile with -mdynamic-no-pic or link with -Wl,-no_pie –


当我键入BT这似乎:

* thread #1: tid = 0x2503, 0x2fe8e0c4 dyld`dyld_fatal_error, stop reason = trace 
frame #0: 0x2fe8e0c4 dyld`dyld_fatal_error 
frame #1: 0x2fe8eef2 dyld`dyld::halt(char const*) + 78 
frame #2: 0x2fe916e8 dyld`dyld::_main(macho_header const*, unsigned long, int, char const**, char const**, char const**, unsigned long*) + 1432 
frame #3: 0x2fe8e330 dyld`dyldbootstrap::start(macho_header const*, int, char const**, long, macho_header const*, unsigned long*) + 608 
frame #4: 0x2fe8e068 dyld`_dyld_start + 64 

当我从我的.m之一删除所有代码文件的应用程序没有启动,所以我知道这个问题是存在的,但其一个非常非常大的.m文件

+0

'bt'说什么? –

+0

对不起bt是什么? – Kevin

+0

gdb/lldb命令用于回溯 –

回答

0

在您的方案诊断中删除Guard Malloc选项。这是什么导致了我的错误。

enter image description here

0

我后在C++子项目,被传递编译时铛这导致-static标志小心停用动态链接遇到这种故障。

通过在LLVM编译器语言设置中将“启用与共享库的链接”切换为“是”(默认设置),即可摆脱它。 (这会从项目文件中删除GCC_LINK_WITH_DYNAMIC_LIBRARIES = NO)。