Оказывается в случае сбоя при отладке приложения на Windows Phone 8 (Nokia Lumia 520), и я не могу понять, почему. Игра разработана в Unity, сначала нацелена на iOS и Android, а теперь переносится на WP8. Сбой возникает, прежде чем входить в мои скрипты, а обработчик UnhandledException
также не достигнут.UnityPlayer аварийно завершает работу на Windows Phone 8
Отладчик (только для коренных жителей) установлен на разрыв, когда исключение выбрасывается и не обрабатывается пользователем. В первый раз стек вызовов:
KERNELBASE.DLL!RaiseException() Unknown
coreclr.dll!RaiseTheExceptionInternalOnly(class Object *,int,int) Unknown
coreclr.dll!UnwindAndContinueRethrowHelperAfterCatch(class Frame *,class Exception *) Unknown
coreclr.dll!AssemblyNative::GetType(struct QCall::AssemblyHandle,unsigned short const *,int,int,struct QCall::ObjectHandleOnStack) Unknown
mscorlib.ni.dll!702d7056() Unknown
mscorlib.ni.dll!702d7056() Unknown
mscorlib.ni.dll!702d7056() Unknown
...
(не удается загрузить mscorlib.ni.pdb, поэтому стек кадры не символизировали).
Сразу после стека следующего вызова перерыв содержит:
KERNELBASE.DLL!RaiseException() Unknown
Msvcr110.dll!_CxxThrowException(void * pExceptionObject=0x06a9fc24, const _s__ThrowInfo * pThrowInfo) Line 152 C++
Vccorlib110.dll!__abi_WinRTraiseCOMException(long hr=-2146234304) Line 502 C++
UnityPlayer.dll!ScriptingTypeProvider_Metro::NativeTypeFor(const char * namespaze=0x05f2d228, const char * name=0x05ba0aa0) Line 29 C++
UnityPlayer.dll!ScriptingTypeRegistry::GetType(const char * namespaze=0x06a9fd88, const char * name=0x05f2d2ac) Line 19 C++
UnityPlayer.dll!MonoScript::RebuildFromAwake() Line 149 C++
UnityPlayer.dll!PersistentManager::LoadFileCompletelyThreaded(const std::basic_string<char,std::char_traits<char>,stl_allocator<char,51,4> > & pathname={...}, int * fileIDs=0x06a9fec8, int * instanceIDs=0x00010004, int size=-1, bool loadScene=false, LoadProgress * loadProgress=0x06a9fec8) Line 1452 C++
UnityPlayer.dll!PreloadLevelOperation::Perform() Line 652 C++
UnityPlayer.dll!PreloadManager::Run() Line 235 C++
UnityPlayer.dll!PreloadManager::Run(void * managerPtr=0x03d91540) Line 187 C++
UnityPlayer.dll!Thread::RunThreadWrapper(void * ptr=0xfffffffe) Line 44 C++
UnityPlayer.dll!<lambda_14163fd8e7b3473ba35abd0bcfa8d126>::operator()(Windows::Foundation::IAsyncAction^__formal=0x05be84a8) Line 273 C++
UnityPlayer.dll!Windows::System::Threading::WorkItemHandler::[Windows::System::Threading::WorkItemHandler::__abi_IDelegate]::__abi_Windows_System_Threading_WorkItemHandler___abi_IDelegate____abi_Invoke(Windows::Foundation::IAsyncAction^__param0=0x03d91528) C++
THREADPOOLWINRT.DLL!Windows::System::Threading::CThreadPoolWorkItem::CommonWorkCallback(void) Unknown
THREADPOOLWINRT.DLL!Windows::System::Threading::CThreadPoolWorkItem::TimeSlicedCallback(void *) Unknown
NTDLL.DLL!RtlUserThreadStart() Unknown
И выход говорит:
First-chance exception at 0x77271ECF in TaskHost.exe: Microsoft C++ exception: Platform::COMException^at memory location 0x06A9FC24. HRESULT:0x80131040
Если я правильно интерпретировать результаты Google для «HRESULT: 0x80131040» это часто связано с сообщением «находящейся Ассамблеи определение манифеста не соответствует ссылке на сборку ». Как я могу узнать, какая сборка вызывает проблему? Какие способы я должен попытаться расследовать эту проблему?
Окружающая среда:
- для Windows Pro 8.1 64-разрядный
- Unity Pro 4.3.1f1
- Microsoft Visual Studio Express 2012 для Windows Phone (поставляется в комплекте с Windows Phone SDK 8.0)
Связанный вопрос: http://answers.unity3d.com/questions/595091/windows-phone-8-debugger.html
Любая помощь будет очень благодарна ованные!