gpt4 book ai didi

ios - 尝试在 MonoTouch.CoreGraphics.CGContext.DrawPDFPage 中进行 JIT 编译方法异常

转载 作者:行者123 更新时间:2023-11-29 02:51:52 30 4
gpt4 key购买 nike

这是堆栈

System.ExecutionEngineException:在使用 --aot-only 运行时尝试 JIT 编译方法“(包装器托管到 native )MonoTouch.CoreGraphics.CGContext:CGContextDrawPDFPage (intptr,intptr)”。参见 http://docs.xamarin.com/ios/about/limitations了解更多信息。

位于 MonoTouch.CoreGraphics.CGContext.DrawPDFPage(MonoTouch.CoreGraphics.CGPDFPage 页面)[0x00000] 中:0 在 Neva.PdfViewer.PageContentView.Draw (MonoTouch.CoreGraphics.CGContext 上下文)[0x00000] 中:0 在 Neva.PdfViewer.PageContentTile.DrawInContext (MonoTouch.CoreGraphics.CGContext ctx) [0x00000] 中:0 [7.1.1]

虽然我们无法在 QA 或单元测试中重现此问题,但此异常在 AppStore 分布式安装上随机发生。

查看 CGContext 中的 DrawPDFPage

    public void DrawPDFPage (CGPDFPage page)
{
CGContext.CGContextDrawPDFPage (this.handle, page.handle);
}

其中 CGContextDrawPDFPage 是 P/Invoke 函数

    [DllImport ("/System/Library/Frameworks/CoreGraphics.framework/CoreGraphics")]
private static extern void CGContextDrawPDFPage (IntPtr c, IntPtr page);

没有给我们任何提示。上面的链接http://docs.xamarin.com/ios/about/limitations并没有真正的帮助。

我的问题是,什么可能导致这样的异常?调试和修复它的步骤是什么?

最佳答案

此异常(System.ExecutionEngineException:尝试使用 JIT 编译方法...)应该是 100% 可重现的。

事实并非如此,这表明了其他事情(可能更糟):某种内存损坏。

然而,如果没有某种方式(至少是随机地)自己复制它,它几乎不可能被追踪到。

我最初的建议是尝试弄清楚是否有任何您可以弄清楚的东西,以便能够自己创建测试用例:

  • 它是否只发生在特定的一组设备上(例如仅 iPad 2)?
  • 它是否只发生在一组特定的客户身上(例如,只有冰岛的客户)?
  • 异常是每次都完全相同,还是 P/Invoke/堆栈跟踪不同?
  • 是内存不足的情况吗?应用是否在此之前收到内存警告?
  • 您的应用中是否有任何必需的步骤(即,如果用户执行 X+Y,它可能会崩溃,但如果他执行 Y+X,则它永远不会崩溃)?

关于ios - 尝试在 MonoTouch.CoreGraphics.CGContext.DrawPDFPage 中进行 JIT 编译方法异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24390408/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com