2013-12-17 6 views
0

Оказывается в случае сбоя при отладке приложения на 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

Любая помощь будет очень благодарна ованные!

ответ

0

Tautvydas Zilys surmised, что причиной было несоответствие между версиями одноименных узлов, предназначенных для разных платформ; и он был прав.

Смежные вопросы