Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# iOS上的Unity崩溃-GameObject.SendMessage_C#_Ios_Exception_Unity3d_Crash - Fatal编程技术网

C# iOS上的Unity崩溃-GameObject.SendMessage

C# iOS上的Unity崩溃-GameObject.SendMessage,c#,ios,exception,unity3d,crash,C#,Ios,Exception,Unity3d,Crash,统一版本:5.3.2p2 在执行GameObject.SendMessage()调用时,它是从Unity的内部代码中崩溃的,需要注意的是,这一行本身并不是崩溃的根源(这一行代码中没有任何内容为null): 我最好的猜测是,Unity的SendMessage代码中有一个异常,当它试图找到一个有效的目标来调用OnPointerClick消息时会发生。这意味着崩溃发生在我们调用目标上的OnPointerClick回调之前,而不是在其回调体中(因为这会显示在跟踪中)。如果这是Unity代码中的内部问题,

统一版本:5.3.2p2

在执行GameObject.SendMessage()调用时,它是从Unity的内部代码中崩溃的,需要注意的是,这一行本身并不是崩溃的根源(这一行代码中没有任何内容为null):

我最好的猜测是,Unity的SendMessage代码中有一个异常,当它试图找到一个有效的目标来调用OnPointerClick消息时会发生。这意味着崩溃发生在我们调用目标上的OnPointerClick回调之前,而不是在其回调体中(因为这会显示在跟踪中)。如果这是Unity代码中的内部问题,我似乎需要与Unity一起打开一张支持票

如果有更多关于我的问题的信息,请告诉我。谢谢大家

堆栈跟踪:

Thread : Crashed: com.apple.main-thread
0  game-app                       0x100033770 CrashedCheckBellowForHintsWhy() (CrashReporter.mm:97)
1  game-app                       0x100cbfe10 RuntimeInvoker_Void_t2779279689_Object_t_Object_t(MethodInfo const*, void*, void**) (Il2CppInvokerTable.cpp:1128)
2  game-app                       0x101613d94 il2cpp::vm::Runtime::CallUnhandledExceptionDelegate(Il2CppDomain*, Il2CppDelegate*, Il2CppObject*) (Runtime.cpp:350)
3  game-app                       0x101613d14 il2cpp::vm::Runtime::UnhandledException(Il2CppObject*) (Runtime.cpp:433)
4  game-app                       0x100ee6ee4 ScriptingInvocation::Invoke(ScriptingException**, bool) (ScriptingInvocation.cpp:202)
5  game-app                       0x100edd0f8 MonoBehaviour::InvokeMethodOrCoroutineChecked(ScriptingMethodIl2Cpp, ScriptingObject*, ScriptingException**) (MonoBehaviour.cpp:839)
6  game-app                       0x100edd2dc MonoBehaviour::InvokeMethodOrCoroutineChecked(ScriptingMethodIl2Cpp, ScriptingObject*) (MonoBehaviour.cpp:859)
7  game-app                       0x100eeb920 Scripting::SendScriptingMessage(Unity::GameObject&, char const*, ScriptingObject*) (BaseObject.h:87)
8  game-app                       0x101105784 GameObject_CUSTOM_SendMessage(ReadOnlyScriptingObjectOfType<Unity::GameObject>, ICallString, ScriptingObject*, int) (UnityEngineGameObjectBindings.gen.cpp:320)
9  game-app                       0x100166628 OnboardingArrowInputBlocker_Message2dObjects_m1580627665 (Bulk_Assembly-CSharp_14.cpp:6437)
10 game-app                       0x1001660ac OnboardingArrowInputBlocker_OnPointerClick_m3735897309 (Bulk_Assembly-CSharp_14.cpp:6148)
11 game-app                       0x1009f6848 ExecuteEvents_Execute_TisObject_t_m1533897725_gshared (GenericMethods0.cpp:35043)
12 game-app                       0x1007d90e4 StandaloneInputModule_ProcessTouchPress_m2953705401 (Bulk_UnityEngine.UI_0.cpp:8133)
13 game-app                       0x1007d8d08 StandaloneInputModule_ProcessTouchEvents_m3567487943 (Bulk_UnityEngine.UI_0.cpp:7836)
14 game-app                       0x1007d8684 StandaloneInputModule_Process_m3720469665 (Bulk_UnityEngine.UI_0.cpp:7775)
15 game-app                       0x100cbfba4 RuntimeInvoker_Void_t2779279689(MethodInfo const*, void*, void**) (Il2CppInvokerTable.cpp:1072)
16 game-app                       0x1016136b0 il2cpp::vm::Runtime::Invoke(MethodInfo const*, void*, void**, Il2CppObject**) (Runtime.cpp:350)
17 game-app                       0x100ee7128 ScriptingInvocationNoArgs::Invoke(ScriptingException**) (ScriptingInvocationNoArgs.cpp:111)
18 game-app                       0x100ee70e0 ScriptingInvocationNoArgs::Invoke() (ScriptingInvocationNoArgs.cpp:95)
19 game-app                       0x100edc670 MonoBehaviour::CallUpdateMethod(int) (MonoBehaviour.cpp:456)
20 game-app                       0x100dafb38 void BaseBehaviourManager::CommonUpdate<BehaviourManager>() (Behaviour.cpp:169)
21 game-app                       0x100e97d24 PlayerLoop(bool, bool, IHookEvent*) (Player.cpp:1727)
22 game-app                       0x10110e2b0 UnityPlayerLoopImpl(bool) (LibEntryPoint.mm:239)
23 game-app                       0x10002a41c UnityRepaint (UnityAppController+Rendering.mm:236)
24 game-app                       0x10002a25c -[UnityAppController(Rendering) repaintDisplayLink] (UnityAppController+Rendering.mm:52)
25 QuartzCore                     0x186933814 CA::Display::DisplayLinkItem::dispatch() + 40
26 QuartzCore                     0x1869336c8 CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) + 424
27 IOKit                          0x18445e1e8 IODispatchCalloutFromCFMessage + 372
28 CoreFoundation                 0x18418b1f8 __CFMachPortPerform + 180
29 CoreFoundation                 0x1841a1634 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 56
30 CoreFoundation                 0x1841a0d6c __CFRunLoopDoSource1 + 436
31 CoreFoundation                 0x18419eac4 __CFRunLoopRun + 1800
32 CoreFoundation                 0x1840cd680 CFRunLoopRunSpecific + 384
33 GraphicsServices               0x1855dc088 GSEventRunModal + 180
34 UIKit                          0x188f44d90 UIApplicationMain + 204
35 game-app                       0x10002455c main (main.mm:32)
36 libdyld.dylib                  0x183c6e8b8 start + 4
线程:崩溃:com.apple.main-Thread
0游戏应用程序0x100033770崩溃CheckBellowForHintsWhy()(CrashReporter.mm:97)
1个游戏应用程序0x100cbfe10运行时调用程序\u Void\u t2779279689\u Object\u t\u Object\t(MethodInfo const*,Void*,Void**)(IL2CppingvokerTable.cpp:1128)
2游戏应用程序0x101613d94 il2cpp::vm::Runtime::CallunHandleExceptionDelegate(Il2CppDomain*、Il2CppDelegate*、Il2CppObject*)(Runtime.cpp:350)
3游戏应用程序0x101613d14 il2cpp::vm::Runtime::UnhandledException(Il2CppObject*)(Runtime.cpp:433)
4游戏应用程序0x100ee6ee4脚本职业::调用(脚本例外**,bool)(脚本职业.cpp:202)
5游戏应用程序0x100edd0f8 MonoBehavior::InvokeMethodOrCoroutineChecked(ScriptingMethodIl2Cpp,ScriptingObject*,ScriptingException**)(MonoBehavior.cpp:839)
6游戏应用程序0x100edd2dc MonoBehavior::InvokeMethodOrCoroutineChecked(ScriptingMethodIl2Cpp,ScriptingObject*)(monoBehavior.cpp:859)
7游戏应用程序0x100eeb920脚本::SendScriptingMessage(Unity::GameObject&,char const*,ScriptingObject*)(BaseObject.h:87)
8游戏应用程序0x101105784游戏对象\自定义\发送消息(只读脚本对象类型、ICallString、脚本对象*、int)(UnityEngingameObjectBindings.gen.cpp:320)
9游戏应用程序0x100166628板载ArroWinputBlocker_Message2dObjects_m1580627665(批量组装-CSharp_14.cpp:6437)
10游戏应用程序0x1001660ac板载ArrowinPutBlocker_OnPointer点击m3735897309(批量组装-CSharp_14.cpp:6148)
11游戏应用程序0x1009f6848执行事件执行对象m1533897725共享(通用方法0.cpp:35043)
12游戏应用程序0x1007d90e4 StandaloneInputModule\u ProcessTouchPress\u m2953705401(Bulk\u UnityEngine.UI\u 0.cpp:8133)
13游戏应用程序0x1007d8d08 StandaloneInputModule\u ProcessTouchEvents\u m3567487943(Bulk\u UnityEngine.UI\u 0.cpp:7836)
14游戏应用程序0x1007d8684标准输入模块\u进程\u M372469665(Bulk\u UnityEngine.UI\u 0.cpp:7775)
15游戏应用程序0x100cbfba4运行时调用程序_Void_t2779279689(MethodInfo常量*,Void*,Void**)(IL2CppingVokerTable.cpp:1072)
16游戏应用程序0x1016136b0 il2cpp::vm::运行时::调用(MethodInfo常量*,void*,void**,Il2CppObject**)(Runtime.cpp:350)
17游戏应用程序0x100ee7128 ScriptingNoArgs::Invoke(ScriptingException**)(ScriptingNoArgs.cpp:111)
18游戏应用程序0x100ee70e0 ScriptingInvocationNoArgs::Invoke()(ScriptingInvocationNoArgs.cpp:95)
19游戏应用程序0x100edc670 MonoBehavior::CallUpdateMethod(int)(monoBehavior.cpp:456)
20游戏应用程序0x100dafb38 void BaseBehavior Manager::CommonUpdate()(behavior.cpp:169)
21游戏应用程序0x100e97d24 PlayerLoop(bool,bool,IHookEvent*)(Player.cpp:1727)
22游戏应用程序0x10110e2b0 UnityPlayerLoopImpl(bool)(LibEntryPoint.mm:239)
23游戏应用程序0x10002a41c UnityRepaint(UnityAppController+Rendering.mm:236)
24游戏应用程序0x100002A25C-[UnityAppController(渲染)重新绘制显示链接](UnityAppController+Rendering.mm:52)
25 QuartzCore 0x186933814 CA::Display::DisplayLinkItem::dispatch()+40
26 QuartzCore 0x1869336c8 CA::Display::DisplayLink::分派_项(无符号长、无符号长、无符号长)+424
27 IOKit 0x18445e1e8 IOISPachCallout from CFMessage+372
28芯基础0x18418b1f8 _uCFMACHPORT执行+180
29 CoreFoundation 0x1841a1634\uuuuCFRUNLOOP\u正在调用\uU OUT\uU至\uU A\uU源1\uU执行\uU功能\uuuu56
30 CoreFoundation 0x1841a0d6c\uU CFRunLoopDoSource1+436
31 CoreFoundation 0x18419eac4_u CFRunLoopRun+1800
32 CoreFoundation 0x1840cd680 CFRunLoopRunSpecific+384
33图形服务0x1855dc088 GSEventRunModal+180
34 UIKit 0x188f44d90 UIApplicationMain+204
35游戏应用程序0x10002455c主(主。mm:32)
36 libdyld.dylib 0x183c6e8b8启动+4

?你不能“发送”onpointer点击你自己。我很确定。@MickyD您唯一看不到的代码是Unity标准OnPointerClick方法的其余部分:@JoeBlow如果可以,请在示例项目中尝试。无法复制。将发送消息(“OnPointerClick”…)更改为发送消息(“MissPiggy”…)。如果这样做有效,那么你就知道要避免这种保留条款。此外,为什么要发送消息?只要在所有感兴趣的人身上实现
IPointerClickHandler
,让Unity来处理它:)@MickyD是的,我最终使用IPointerClickHandler是为了得到一些不会崩溃的东西,因为实际的崩溃发生在Unity搜索有效调用目标的某个地方。我正在考虑结束这场比赛
Thread : Crashed: com.apple.main-thread
0  game-app                       0x100033770 CrashedCheckBellowForHintsWhy() (CrashReporter.mm:97)
1  game-app                       0x100cbfe10 RuntimeInvoker_Void_t2779279689_Object_t_Object_t(MethodInfo const*, void*, void**) (Il2CppInvokerTable.cpp:1128)
2  game-app                       0x101613d94 il2cpp::vm::Runtime::CallUnhandledExceptionDelegate(Il2CppDomain*, Il2CppDelegate*, Il2CppObject*) (Runtime.cpp:350)
3  game-app                       0x101613d14 il2cpp::vm::Runtime::UnhandledException(Il2CppObject*) (Runtime.cpp:433)
4  game-app                       0x100ee6ee4 ScriptingInvocation::Invoke(ScriptingException**, bool) (ScriptingInvocation.cpp:202)
5  game-app                       0x100edd0f8 MonoBehaviour::InvokeMethodOrCoroutineChecked(ScriptingMethodIl2Cpp, ScriptingObject*, ScriptingException**) (MonoBehaviour.cpp:839)
6  game-app                       0x100edd2dc MonoBehaviour::InvokeMethodOrCoroutineChecked(ScriptingMethodIl2Cpp, ScriptingObject*) (MonoBehaviour.cpp:859)
7  game-app                       0x100eeb920 Scripting::SendScriptingMessage(Unity::GameObject&, char const*, ScriptingObject*) (BaseObject.h:87)
8  game-app                       0x101105784 GameObject_CUSTOM_SendMessage(ReadOnlyScriptingObjectOfType<Unity::GameObject>, ICallString, ScriptingObject*, int) (UnityEngineGameObjectBindings.gen.cpp:320)
9  game-app                       0x100166628 OnboardingArrowInputBlocker_Message2dObjects_m1580627665 (Bulk_Assembly-CSharp_14.cpp:6437)
10 game-app                       0x1001660ac OnboardingArrowInputBlocker_OnPointerClick_m3735897309 (Bulk_Assembly-CSharp_14.cpp:6148)
11 game-app                       0x1009f6848 ExecuteEvents_Execute_TisObject_t_m1533897725_gshared (GenericMethods0.cpp:35043)
12 game-app                       0x1007d90e4 StandaloneInputModule_ProcessTouchPress_m2953705401 (Bulk_UnityEngine.UI_0.cpp:8133)
13 game-app                       0x1007d8d08 StandaloneInputModule_ProcessTouchEvents_m3567487943 (Bulk_UnityEngine.UI_0.cpp:7836)
14 game-app                       0x1007d8684 StandaloneInputModule_Process_m3720469665 (Bulk_UnityEngine.UI_0.cpp:7775)
15 game-app                       0x100cbfba4 RuntimeInvoker_Void_t2779279689(MethodInfo const*, void*, void**) (Il2CppInvokerTable.cpp:1072)
16 game-app                       0x1016136b0 il2cpp::vm::Runtime::Invoke(MethodInfo const*, void*, void**, Il2CppObject**) (Runtime.cpp:350)
17 game-app                       0x100ee7128 ScriptingInvocationNoArgs::Invoke(ScriptingException**) (ScriptingInvocationNoArgs.cpp:111)
18 game-app                       0x100ee70e0 ScriptingInvocationNoArgs::Invoke() (ScriptingInvocationNoArgs.cpp:95)
19 game-app                       0x100edc670 MonoBehaviour::CallUpdateMethod(int) (MonoBehaviour.cpp:456)
20 game-app                       0x100dafb38 void BaseBehaviourManager::CommonUpdate<BehaviourManager>() (Behaviour.cpp:169)
21 game-app                       0x100e97d24 PlayerLoop(bool, bool, IHookEvent*) (Player.cpp:1727)
22 game-app                       0x10110e2b0 UnityPlayerLoopImpl(bool) (LibEntryPoint.mm:239)
23 game-app                       0x10002a41c UnityRepaint (UnityAppController+Rendering.mm:236)
24 game-app                       0x10002a25c -[UnityAppController(Rendering) repaintDisplayLink] (UnityAppController+Rendering.mm:52)
25 QuartzCore                     0x186933814 CA::Display::DisplayLinkItem::dispatch() + 40
26 QuartzCore                     0x1869336c8 CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) + 424
27 IOKit                          0x18445e1e8 IODispatchCalloutFromCFMessage + 372
28 CoreFoundation                 0x18418b1f8 __CFMachPortPerform + 180
29 CoreFoundation                 0x1841a1634 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 56
30 CoreFoundation                 0x1841a0d6c __CFRunLoopDoSource1 + 436
31 CoreFoundation                 0x18419eac4 __CFRunLoopRun + 1800
32 CoreFoundation                 0x1840cd680 CFRunLoopRunSpecific + 384
33 GraphicsServices               0x1855dc088 GSEventRunModal + 180
34 UIKit                          0x188f44d90 UIApplicationMain + 204
35 game-app                       0x10002455c main (main.mm:32)
36 libdyld.dylib                  0x183c6e8b8 start + 4