[英]App crashes on start after update xcode 4.5 and 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-csulsqjoqjjyyahcxrvjqbpzyxot/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文件非常大
在方案診斷中刪除Guard Malloc選項。 這就是導致我出錯的原因。
在意外禁用C ++子項目中的動態鏈接后,我遇到了此錯誤,這導致-static
標志在編譯時傳遞給clang。
通過在LLVM編譯器語言設置中將“啟用與共享庫的鏈接”切換為“是”(默認設置)來擺脫它。 (這將從項目文件中刪除GCC_LINK_WITH_DYNAMIC_LIBRARIES = NO
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.