c# - WPF 应用程序未显示 JIT 调试
问题描述
我在与开发它不同的计算机上运行 WPF 应用程序。目前我只使用来自 Debug 的文件而不是 Release。我注意到,当我运行在 Windows 窗体中创建的应用程序时,当发生未处理的异常时会显示 JIT 调试窗口。不过,我的 WPF 应用程序并非如此。我检查了我的 Visual Studio 设置并启用了 JIT。在需要运行应用程序的计算机上安装 Visual Studio 是不可能的。有没有办法让 JIT 调试窗口显示出来?当应用程序崩溃并且没有给我任何有关它的信息时,我很难弄清楚发生了什么。
解决方案
因此,我无法从未处理的异常窗口中复制窗口,但使用这篇文章我得到了下一个最好的东西:
https://www.wpf-tutorial.com/wpf-application/handling-exceptions/
将以下代码添加到 app.xaml
DispatcherUnhandledException="Application_DispatcherUnhandledException"
并将以下代码放入 app.xaml.cs
public partial class App : Application
{
private void Application_DispatcherUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
{
MessageBox.Show("An unhandled exception just occurred: " + e.Exception.Message, "Exception Sample", MessageBoxButton.OK, MessageBoxImage.Warning);
e.Handled = true;
}
}
我得到一个 MessageBox 告诉我错误是什么。它还处理异常并允许应用程序继续运行。
推荐阅读
- javascript - 如何防止其他人更改我的机器人的状态?
- reactjs - 针对 Rollup 的 Cypress React 组件测试无法启动(找不到 nollup)
- xamarin.android - 如何消除 Xamarin Android 项目中重复的 jni 签名?
- c - 二进制到十进制数的转换
- arrays - Zygote 无法获取梯度:不支持变异数组
- ruby-on-rails - Rails - 过滤器链已停止为
呈现或重定向 - php - Laravel 8 password.update 在邮递员上工作但不在浏览器中(302 响应)
- sql - postresql:如何在 where 语句中输入多个范围
- mysql - 使用 WHERE IN 子句将 MySQL 5.6 升级到 5.7 和极慢查询
- python - 正则表达式搜索找不到短语