我的演示UnrealEngine4 ios应用程序启动后立即崩溃。同时,android build运行正常。这是崩溃日志:
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000000
VM Region Info: 0 is not in any region. Bytes before following region: 4366614528
REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL
UNUSED SPACE AT START
--->
__TEXT 0000000104454000-000000010a1f0000 [ 93.6M] r-x/r-x SM=COW ...podealUE4Demo
Termination Signal: Segmentation fault: 11
Termination Reason: Namespace SIGNAL, Code 0xb
Terminating Process: exc handler [5038]
Triggered by Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 UE4Demo 0x0000000106081624 FOutputDevice::LogfImpl+ 29546020 (char16_t const*, ...) + 204
1 UE4Demo 0x00000001060815b8 FOutputDevice::LogfImpl+ 29545912 (char16_t const*, ...) + 96
2 UE4Demo 0x0000000105feff88 FDebug::AssertFailed+ 28950408 (char const*, char const*, int, char16_t const*, ...) + 312
3 UE4Demo 0x0000000105ed5eec FGenericPlatformTime::GetSecondsPerCycle64+ 27795180 () + 244
4 UE4Demo 0x0000000105f17c4c FThreadHeartBeat::Get+ 28064844 () + 464
5 UE4Demo 0x0000000106009bfc FDebug::EnsureFailed+ 29055996 (char const*, char const*, int, char16_t const*, int) + 384
6 UE4Demo 0x000000010600a288 FDebug::OptionallyLogFormattedEnsureMessageReturningFalseImpl+ 29057672 (bool, char const*, char const*, int, char16_t const*, ...) + 116
7 UE4Demo 0x0000000105ef1780 LLMMap<PointerKey, unsigned int, ELLMTag>::Remove+ 27907968 (PointerKey const&) + 464
8 UE4Demo 0x0000000105eefae0 FLLMTracker::TrackFree+ 27900640 (void const*, ELLMTracker, ELLMAllocType) + 112
9 UE4Demo 0x0000000105f1c49c FMemory::Free+ 28083356 (void*) + 200
10 CFNetwork 0x00000001bb945ce0 XTubeManager::~XTubeManager+ 204000 () + 56
11 CFNetwork 0x00000001bb945c28 XTubeManager::~XTubeManager+ 203816 () + 12
12 CFNetwork 0x00000001bb920300 -[__NSURLSessionLocal dealloc] + 48
13 libobjc.A.dylib 0x00000001ba565b9c (anonymous namespace)::AutoreleasePoolPage::pop+ 129948 (void*) + 672
14 libobjc.A.dylib 0x00000001ba54e220 call_load_methods + 732
15 libobjc.A.dylib 0x00000001ba54fe54 load_images + 180
16 dyld 0x000000010e54e390 dyld::notifySingle+ 9104 (dyld_image_states, ImageLoader const*, ImageLoader::InitializerTimingList*) + 444
17 dyld 0x000000010e560314 ImageLoader::recursiveInitialization+ 82708 (ImageLoader::LinkContext const&, unsigned int, char const*, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 440
18 dyld 0x000000010e55f370 ImageLoader::processInitializers+ 78704 (ImageLoader::LinkContext const&, unsigned int, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 136
19 dyld 0x000000010e55f42c ImageLoader::runInitializers+ 78892 (ImageLoader::LinkContext const&, ImageLoader::InitializerTimingList&) + 84
20 dyld 0x000000010e54e6d8 dyld::initializeMainExecutable+ 9944 () + 220
21 dyld 0x000000010e5532a0 dyld::_main+ 29344 (macho_header const*, unsigned long, int, char const**, char const**, char const**, unsigned long*) + 4304
22 dyld 0x000000010e54d044 _dyld_start + 68
启动时我唯一要做的就是显示一个菜单小部件(在编辑器和android中工作正常)。
据我从日志中了解到,主要问题在我的代码之外。看起来FMemory :: Free和其他东西只是崩溃后的服务过程。而且我很确定调用堆栈中没有我的代码。
答案 0 :(得分:0)
这是一个-ObjC标志。我在UE4项目设置中有此标志,但似乎这些设置对XCode项目没有影响。至少对于UE4.21.2。