我正在开发一个 WPF 应用程序。调试时,逻辑达到某个点,然后应用程序无故退出。 VS 调试器没有捕获任何内容,唯一的问题指示是输出窗口中的以下内容:
程序“[6228] SomeApp.vshost.exe:托管 (v4.0.30319)”已退出,代码为 1073741855 (0x4000001f)。
当调试发布版本时,或者确实在调试器中运行调试版本时(实际上,所有不在调试器中运行调试版本的组合),一切都工作正常。
我试图用以下代码捕获未处理的异常:
AppDomain
.CurrentDomain
.UnhandledException +=
(sender, e) =>
{
Debug.WriteLine("Unhandled Exception " + e.ExceptionObject);
};
Application
.Current
.DispatcherUnhandledException +=
(sender1, e1) =>
{
Debug.WriteLine("DispatcherUnhandledException " + e1.Exception);
};
...但我什么也没抓到。
我正在考虑在应用程序中添加调试输出语句,但它是高度异步的,因此阅读本文将既费力又乏味。
我如何开始弄清楚发生了什么?
根据 ntstatus.h 文件,0x4000001f (STATUS_WX86_BREAKPOINT) 是 Win32 x86 模拟子系统使用的异常状态代码。 (我想)这意味着您到达了不可利用的断点。您应该启用调试非托管代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)