如何找到“程序..以代码-2147483645 (0x80000003)退出”的错误。

3
我正在使用树莓派3在Win 10 iot核心上测试一个UWP项目。我通过设备进行远程调试。一段时间后应用程序崩溃,调试中只能看到该错误:“The program .. has exited with code -2147483645 (0x80000003).”如何查看更有意义的信息?调试在此之后停止了。
编辑 在vs 2015中输出不再显示任何消息,只有那个错误。我的项目涉及Ble设备。我正在使用ConcurrentDictionary从不同的线程进行读写操作。但所有这些操作都在try catch块中。我无法确定问题是否与此相关,因为没有任何异常被捕获。此外,我还有以下App.cs代码。
this.UnhandledException += (sender, e) =>
            {
                e.Handled = true;
                System.Diagnostics.Debug.WriteLine(e.Exception);
            };

但是这段代码也没有被触发。


你能和我们分享源代码吗? - mjwills
调试输出没有告诉你其他信息吗?是否有某个线程结束或发生了异常? - Camilo Terevinto
https://dev59.com/XlrUa4cB1Zd3GeqPhSwL#11470998 - Class Skeleton
2
退出代码似乎表明有断点:http://www.support.tabs3.com/main/R10309.htm - Class Skeleton
2个回答

2

我曾在为Windows Forms应用程序包装C++ DLL时遇到类似的错误。

问题在于我从C++进程返回了一个未管理的const char*,并在C#环境中将其声明为string(这应该是可行的),但系统无法识别它,也没有捕获任何错误。

这似乎是C#内置的行为。我不得不通过IntPtr进行处理,并将其转换为字符串,然后错误神奇地消失了。

这可能与您的设置无关,但症状相同:“应用程序崩溃,没有警告,也没有抛出或捕获异常。”

如果我是你,而且你仍然在苦苦挣扎这个问题,我会查找DLL包装方面的问题。


-2
根据this维基百科,这是一个与系统文件配置错误有关的问题。解决方法如下:
1)启动计算机并以管理员身份登录。
2)单击“开始”按钮,然后选择“所有程序”,“附件”,“系统工具”,然后单击“系统还原”。
3)在新窗口中,选择“将我的计算机恢复到较早的时间点”选项,然后单击“下一步”。
4)从“在此列表上,单击还原点”列表中选择最近的系统还原点,然后单击“下一步”。
5)在确认窗口上单击“下一步”。
6)当还原完成后重新启动计算机。

好的,那么这并不直接适用于您。但是您仍然可以重置您的系统。 - Romano Zumbé
我想传达的信息是,这很可能与您运行的应用程序无关,而与操作系统设置有关。 - Romano Zumbé
1
很明显问题来自于代码而不是电脑或设备,绝对不需要进行完整的系统恢复...这就像说“我一直撞墙,让我们摧毁房子并用相同的墙重新建造一个!也许这次我就不会再撞到它们了!” - Adalcar
我刚刚提供了一个维基链接,其中建议了这个。但是感谢您丰富多彩的解释。 - Romano Zumbé
1
@RomanoZumbé 我很抱歉如果我的评论被视为粗鲁(实际上它确实是粗鲁的),但我的意思是,维基百科的目标是针对普通的Windows用户在正常工作过程中遇到崩溃问题,而不是作为程序员调试选项。这里的问题发生在IOT项目的开发过程中,更有可能是由于错误的内存处理而不是Windows操作系统损坏引起的,否则这将是太巧合了。 - Adalcar
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接