c# - 程序和调试器在没有出现问题的情况下退出

标签 c# .net visual-studio debugging

我正在开发 WPF 应用程序。调试的时候,逻辑到了某个点,然后应用程序无缘无故退出。 VS 调试器没有捕捉到任何问题,唯一的问题指示是输出窗口中的以下内容:

The program '[6228] SomeApp.vshost.exe: Managed (v4.0.30319)' has exited with code 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 仿真子系统使用的异常状态代码。它(我想)意味着你到达了一个不可利用的断点。您应该启用调试非托管代码。

关于c# - 程序和调试器在没有出现问题的情况下退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4532457/

相关文章:

c# - 使用 Open Xml 将列添加到现有 Excel 2007 工作簿

发布到 Azure 时,区域中的 ASP.NET Core 文件夹不会加载资源

c# - 如何在代码片段中放置空文字

c# - 如何转换此分而治之代码以将一个点与点列表进行比较?

c# - CheckboxList 未在 JavaScript 中获取选定值

c# - 需要时髦的 LINQ

c# - 修复跨线程异常

c++ - 如何最好地将 GCC 与 Visual Studio 结合使用

c# - 如何访问子 xml 元素?

c# - 如何为任何 exe 创建安装程序?