调用ServiceStack.Text.JsConfig.RegisterTypeForAot< T>(); MonoTouch一起使用会导致设备启动时SIGSEGV

编程入门 行业动态 更新时间:2024-10-10 07:31:35
本文介绍了调用ServiceStack.Text.JsConfig.RegisterTypeForAot< T>(); MonoTouch一起使用会导致设备启动时SIGSEGV的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我一直在尝试使用ServiceStack.Text.JsConfig.RegisterTypeForAot();一种在运行时不使用的方法来解决我的AOT问题,但是当我对其调用过多时,又遇到了其他奇怪的问题。我接到了10个针对各种类型的调用,包括类,结构和枚举。当我打完9个电话时,一切正常,我已经改组了一些类型,所以我很确定这是电话号码。当我有10个电话时,我得到...

I've been trying to use ServiceStack.Text.JsConfig.RegisterTypeForAot(); in an method that is not used at runtime to cure my AOT issues but have run into other weird issues when I have too many calls to it. I've got 10 calls to various types including classes, structs and enums. When I have 9 calls everything works fine, I've shuffled some of the types around so I'm pretty sure it is the number. When I have 10 calls I get ...

Stacktrace: at System.MonoType.ToString () [0x00000] in /Developer/MonoTouch/Source/mono/mcs/class/corlib/System/MonoType.cs:636 at System.Exception.get_ClassName () [0x0000b] in /Developer/MonoTouch/Source/mono/mcs/class/corlib/System/Exception.cs:141 at System.Exception.ToString () [0x00000] in /Developer/MonoTouch/Source/mono/mcs/class/corlib/System/Exception.cs:286 at (wrapper runtime-invoke) object.runtime_invoke_dynamic (intptr,intptr,intptr,intptr) <0xffffffff> at System.Type.Equals (System.Type) [0x00020] in /Developer/MonoTouch/Source/mono/mcs/class/corlib/System/Type.cs:471 at System.Type.IsAssignableFrom (System.Type) [0x00008] in /Developer/MonoTouch/Source/mono/mcs/class/corlib/System/Type.cs:863 at System.Collections.Generic.EqualityComparer`1<intptr>..cctor () [0x00029] in /Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Collections.Generic/EqualityComparer.cs:42 at (wrapper runtime-invoke) object.runtime_invoke_dynamic (intptr,intptr,intptr,intptr) <0xffffffff> at System.Collections.Generic.Dictionary`2<intptr, System.WeakReference>.Init (int,System.Collections.Generic.IEqualityComparer`1<intptr>) [0x00012] in /Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Collections.Generic/Dictionary.cs:265 at System.Collections.Generic.Dictionary`2<intptr, System.WeakReference>..ctor () [0x00006] in /Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Collections.Generic/Dictionary.cs:223 at MonoTouch.ObjCRuntime.Runtime..cctor () <IL 0x00000, 0x0002b> at (wrapper runtime-invoke) object.runtime_invoke_dynamic (intptr,intptr,intptr,intptr) <0xffffffff> Native stacktrace: 0 TouchContainer 0x028dbda5 mono_handle_native_sigsegv + 244 1 TouchContainer 0x028a3cfd mono_sigsegv_signal_handler + 172 2 libsystem_c.dylib 0x320e8e93 _sigtramp + 42 3 TouchContainer 0x0093aa25 ServiceStack_Text_Common_JsWriter_WriteEnumFlags_System_IO_TextWriter_object + 381 ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application. =================================================================

TouchContainer被应用程序的名称。

TouchContainer being the name of the app.

这似乎是在应用程序运行的早期发生的,必须是AOT中的错误或发出错误代码的东西。

This seems to be happening so early in the run of the app that it must be a bug in the AOT or something that is emitting bad code.

有人有什么想法吗?我该在Xamarin上记录票吗?看起来似乎很难完成一个小的repro项目...

Does anyone have any ideas? Shall I log a ticket with Xamarin on this? It looks like it could be tricky to work up a small repro project...

推荐答案

Rolf建议(在错误注释中)将-f添加到monotouch参数。这似乎已经解决了。

Rolf suggested (in the bug comments) adding -f to the monotouch arguments. This seems to have fixed it.

更多推荐

调用ServiceStack.Text.JsConfig.RegisterTypeForAot&lt; T&gt;(); MonoTouch一起

本文发布于:2023-11-12 10:10:04,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1581190.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:启动时   设备   JsConfig   RegisterTypeForAot   ServiceStack

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!