我有一个运行良好的毛伊岛应用程序。然后我们需要实现推送通知,我按照此处的指南进行操作: https://learn.microsoft.com/en-us/dotnet/maui/data-cloud/push-notifications?view=net-maui-9.0
应用程序在使用模拟器(适用于 android 或 ios)时工作正常,并且我们收到推送通知,但是当我们进行发布构建时,它开始崩溃,并在 0x000000000 地址处出现分段错误。
据我所知,基本上有些东西正在变空/取消初始化。我尝试在没有链接器的情况下进行编译(因为没有链接器),但没有实现任何目标。
我的问题是如何调试此类错误。我的应用程序开始显示启动屏幕,然后加载同步数据库的“加载器屏幕”,并并行调用 MainActivity(我知道我有按该顺序显示的调试消息)。它只是因分段错误而崩溃。它没有给出我理解的代码。
请指导我如何调试。
编辑:我尝试在 OnCreate 函数中禁用 Android MainActivity.cs 文件中的通知代码,应用程序再次运行。基本上,在启动屏幕之后,它会进行后台数据库同步,而来自 Mainactivity 的调试消息仍然出现,因此 mainactivity 和 Xaml 页面都并行工作,但它总是崩溃,并且我可以收集的大多数调试信息仅与 mainactivity 相关。
如果不看代码,很难判断到底出了什么问题。
但是我可以肯定的一件事是,我不再使用 OnCreate (现在它会给出很多错误),而是使用 OnPostCreate ,因为它是 MAUI 本身在 Android 上调用其“Created”事件的方法:
更多信息请点击这里: https://learn.microsoft.com/en-us/dotnet/maui/fundamentals/app-lifecycle?view=net-maui-9.0