- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
晚上好
我正在开发一个通用应用程序。在几次随机崩溃和调试 native 代码后,我发现 native 异常是:“AssemblyName.UniversalApp.WindowsPhone.exe 中 0x777E35D7 (KERNELBASE.DLL) 处未处理的异常:0xC0000002:请求的操作未实现。”
下面是反汇编中的异常。缺少条目 777E35D7,这是应用程序崩溃的地方。
RaiseException:
777E35A0 push {r11,lr}
777E35A4 mov r11,sp
777E35A6 bl __security_push_cookie (777CC868h)
777E35AA sub sp,sp,#0x54
777E35AC and r1,r1,#1
777E35B0 str r1,[sp,#4]
777E35B2 movs r1,#0
777E35B4 str r1,[sp,#8]
777E35B6 ldr r1,RaiseException+50h (777E35F0h)
777E35B8 str r0,[sp]
777E35BA str r1,[sp,#0xC]
777E35BC cbz r3,RaiseException+40h (777E35E0h)
777E35BE cmp r2,#0xF
777E35C0 bhi RaiseException+46h (777E35E6h)
777E35C2 str r2,[sp,#0x10]
777E35C4 lsls r2,r2,#2
777E35C6 add r0,sp,#0x14
777E35C8 mov r1,r3
777E35CA bl memcpy (7781ECC4h)
777E35CE ldr r3,RaiseException+4Ch (777E35ECh)
777E35D0 mov r0,sp
777E35D2 ldr r3,[r3]
777E35D4 blx r3
777E35D6 add sp,sp,#0x54
777E35D8 bl __security_pop_cookie (777CC880h)
777E35DC pop {r11,pc}
777E35E0 movs r3,#0
777E35E2 str r3,[sp,#0x10]
777E35E4 b RaiseException+2Eh (777E35CEh)
777E35E6 movs r2,#0xF
777E35E8 b RaiseException+22h (777E35C2h)
777E35EA __debugbreak
777E35EC ?? ??
777E35EE strb r6,[r0,#0x1E]
777E35F0 adds r5,r5,#0xA1
777E35F2 strb r6,[r7,#0x1D]
产生此异常的原因:
我使用此库的自定义版本升级后可与通用应用程序一起使用: https://github.com/brendankowitz/ZeroProximity.Accordion .我不得不提一下,该控件工作正常。
Accordion 项目内部是一个控件模板,其中包含一个带有动态绑定(bind)事件 (SelectedItemChanged) 的列表框。随机地,当点击 ListItem 时,应用程序会引发此异常。事件背后的代码将应用程序导航到另一个页面。我需要指定该事件在没有导航部分的情况下仍然有效,并且应用程序不会崩溃。
我还需要指定异常仅发生在设备上,应用程序在所有模拟器上都能完美运行。另外,我是“Developer Preview”计划的成员,所以我的 Windows Phone 版本 (8.10.14203.306) 可能会影响应用程序(不幸的是,目前,我没有任何其他设备可以测试)。
我的问题是:有没有办法处理这个异常,或者找出到底是什么没有实现?
感谢您的回答!
问候,爱诺特
最佳答案
正如 Yasen 在我上一篇文章的评论中所说,Windows Phone 8.1 中的导航代码应该(默认情况下)在 UI 线程上运行。
不幸的是(我仍在尝试找出原因)ListBoxItem 事件处理程序中的导航代码并非始终在 UI 线程下运行,因此随机抛出“ native 代码”异常。奇怪的是,抛出的异常没有给出任何关于 UI 线程的信息(就像我们在 Windows Phone 8.0 Silverlight 上收到的那样),但是 Yasen 指出 KERNELBASE.DLL 错误与 UI 线程访问异常密切相关(以后知道是好事)引用)。
解决方案是使用 Windows Runtime Dispatcher。您可以在下方找到有效的最终导航代码。
await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
if ((!Window.Current.Content as Frame).Navigate(typeof(ItemPage)))
{
throw new Exception("NavigationFailedExceptionMessage");
}
});
再次感谢亚森!您刚刚节省了大量的调试时间!
问候,爱诺特
关于c# - 通用应用未处理异常 (KERNELBASE.DLL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27024957/
当我检查事件查看器时,我的应用程序在没有任何应用程序错误记录的情况下崩溃,我发现以下信息。可以解释一下为什么会发生这种情况和 如何预防它? Faulting application name: MyA
我正在尝试使用 VS2012 Pro 构建并运行这段程序。 #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { STARTUP
晚上好 我正在开发一个通用应用程序。在几次随机崩溃和调试 native 代码后,我发现 native 异常是:“AssemblyName.UniversalApp.WindowsPhone.exe 中
我在 .Net Framework 3.5 (C#.Net) 中完成了一个应用程序。我在 Windows 7 中安装了该应用程序。但是在打开某些表单时,应用程序会出现以下错误 如果有人知道解决方案,请
我在 Windows 7/8 x64 上运行应用程序时遇到问题,但我可以在 Windows 10 x64 上启动。在 Visual Studio 中,平台目标设置为任何 CPU,但它对我没有帮助。我在
我在向我网站的某个页面发出 response.redirect 时遇到以下错误,我完全不知道从哪里开始。 它完全破坏了整个应用程序: Faulting application name: w3wp.e
我正在做一个简单的程序来检测网络摄像头,它运行了一段时间,但比我收到错误消息要多。 我从中获取了代码, https://thefreecoder.wordpress.com/2012/09/11/op
我的 C#/WinForms 应用程序在启动时崩溃。我在这里浏览了几篇涉及该主题的帖子,但我还无法解决问题。 这是我得到的错误: Problemsignature: Problemeventname:
我得到这个异常: Unhandled exception at 0x75374B32 (KernelBase.dll) in LogLoaderUnmanaged.exe: 0xE0434352 (p
我最近才开始遇到这个问题,我不知道它是什么时候开始出现的/是什么原因造成的。 我这里有这个简单的测试程序: #include int main() { return 0; } 但是当我尝试正
这个问题在这里已经有了答案: My C# application is returning 0xE0434352 to Windows Task Scheduler but it is not cr
我在D7中编写了一个Windows服务。直到今天它工作得很好不想发射。 在事件日志中我收到错误: 故障应用程序名称:XServ12.exe,版本:0.0.0.0,时间戳:0x2a425e19错误模块名
用Delphi 2010(Windows XP3计算机)编译的应用程序无法在Windows 7上运行。但是,在Windows XP上可以正常运行。使用D2010编译程序时,没有看到特殊消息。使用的第三
我编写了一个在 64 位 Windows Server 2008 上运行的应用程序,它需要按计划运行,因为它需要每 15 分钟运行一次。由于某种原因,程序在打开几分钟后崩溃(这是没有在计划中的)。该程
我试图在非托管 Visual C++ 解决方案中调用 C# COM 项目的方法,但我不断收到下一个错误 First-chance exception at 0x7697C41F (KernelBase
在 Visual Studio 2010 上,当我刚刚启动程序(无需打开任何项目)然后在它连接到 TFS 后,每次我打开一个工作项,创建新的工作项然后保存/关闭该工作项,Visual Studio 2
我最近在尝试运行调用多个子包的主父 SSIS 包时遇到了一个问题。我还没有找到有关此确切问题的帖子,因此我想分享一下我认为如何解决该问题的方法。这是尝试运行包时会发生的错误: 因此,在研究了这个问题之
我有一个 .NET 3.5 可执行文件,使用“任何 CPU”编译,当我尝试在 Windows Server 2008 x64 R2 上运行它时 - 它给我: Faulting application
我在Windows 7 32位操作系统中将opencv 2.4.10与Visual Studio 2010一起使用... 由于我是该 Realm 的新手,所以我首先尝试显示图像...效果很好...但是
我正在使用 Visual Studio 2019 并以以下简单的 OpenGL 程序作为最小示例(使用 GLFW 和 GLAD): #include #include #include void
我是一名优秀的程序员,十分优秀!