c# 开发的wpf程序闪退,无法用try catch捕获异常

2024-06-04 14:12

本文主要是介绍c# 开发的wpf程序闪退,无法用try catch捕获异常,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

之前开发的一个程序是c#wpf开发,基于.net framework 4.6.1的,一切都是正常的,但是在我重新装了win11后在程序logo出现后直接闪退,报错

返回值为 -1073740791 (0xc0000409),而且定位到代码时发现是,

public FAMainWindow()
        {
            InitializeComponent();

}

调用InitializeComponent()直接闪退,增加了try catch也无法捕获异常。

同时在 System.AppDomain.CurrentDomain.UnhandledException 这个事件里面也不没异常,十分的怪异,在闪退后也不打印堆栈信息。仅输出

finished with exit code -1073740791 (0xC0000409)

而且相同的程序在其它设备上正常运行,甚至在虚拟机中安装了相同版本的win11也正常运行。

这时我在管理工具-》事件查看器-》winodws日志中查询到出错的信息

错误应用程序名称: 检测系统.exe,版本: 4.0.3.0,时间戳: 0x665d6d68
错误模块名称: ucrtbase.dll,版本: 10.0.22621.3593,时间戳: 0x10c46e71
异常代码: 0xc0000409
错误偏移量: 0x000000000007f6fe
错误进程 ID: 0x0x2C64
错误应用程序启动时间: 0x0x1DAB585BA1E3B0E
错误应用程序路径: D:\working\heF\bin\x64\Debug\检测系统.exe
错误模块路径: C:\WINDOWS\System32\ucrtbase.dll
报告 ID: 93715dca-f599-4a5d-9835-1ed14f0f4827
错误程序包全名: 
错误程序包相对应用程序 ID: 

解决方法,直接重安装了显卡驱动,以及下面新的库,程序就正常运行了,代码没有改进。

参考

WPF意外无法启动?try-catch也无法捕捉?0xc0000409?_txt wpf file try catch-CSDN博客

WPF软件因中文名无法启动,原因竟是英特尔驱动 – 晨旭的博客~ (chenxublog.com)

这篇关于c# 开发的wpf程序闪退,无法用try catch捕获异常的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1030302

相关文章

C# 中变量未赋值能用吗,各种类型的初始值是什么

对于一个局部变量,如果未赋值,是不能使用的 对于属性,未赋值,也能使用有系统默认值,默认值如下: 对于 int 类型,默认值是 0;对于 int? 类型,默认值是 null;对于 bool 类型,默认值是 false;对于 bool? 类型,默认值是 null;对于 string 类型,默认值是 null;对于 string? 类型,哈哈,没有这种写法,会出错;对于 DateTime 类型,默

uniapp接入微信小程序原生代码配置方案(优化版)

uniapp项目需要把微信小程序原生语法的功能代码嵌套过来,无需把原生代码转换为uniapp,可以配置拷贝的方式集成过来 1、拷贝代码包到src目录 2、vue.config.js中配置原生代码包直接拷贝到编译目录中 3、pages.json中配置分包目录,原生入口组件的路径 4、manifest.json中配置分包,使用原生组件 5、需要把原生代码包里的页面修改成组件的方

用Microsoft.Extensions.Hosting 管理WPF项目.

首先引入必要的包: <ItemGroup><PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.2" /><PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.0" /><PackageReference Include="Serilog

Java面试八股之怎么通过Java程序判断JVM是32位还是64位

怎么通过Java程序判断JVM是32位还是64位 可以通过Java程序内部检查系统属性来判断当前运行的JVM是32位还是64位。以下是一个简单的方法: public class JvmBitCheck {public static void main(String[] args) {String arch = System.getProperty("os.arch");String dataM

vcpkg安装opencv中的特殊问题记录(无法找到opencv_corexd.dll)

我是按照网上的vcpkg安装opencv方法进行的(比如这篇:从0开始在visual studio上安装opencv(超详细,针对小白)),但是中间出现了一些别人没有遇到的问题,虽然原因没有找到,但是本人给出一些暂时的解决办法: 问题1: 我在安装库命令行使用的是 .\vcpkg.exe install opencv 我的电脑是x64,vcpkg在这条命令后默认下载的也是opencv2:x6

Eclipse+ADT与Android Studio开发的区别

下文的EA指Eclipse+ADT,AS就是指Android Studio。 就编写界面布局来说AS可以边开发边预览(所见即所得,以及多个屏幕预览),这个优势比较大。AS运行时占的内存比EA的要小。AS创建项目时要创建gradle项目框架,so,创建项目时AS比较慢。android studio基于gradle构建项目,你无法同时集中管理和维护多个项目的源码,而eclipse ADT可以同时打开

一道经典Python程序样例带你飞速掌握Python的字典和列表

Python中的列表(list)和字典(dict)是两种常用的数据结构,它们在数据组织和存储方面有很大的不同。 列表(List) 列表是Python中的一种有序集合,可以随时添加和删除其中的元素。列表中的元素可以是任何数据类型,包括数字、字符串、其他列表等。列表使用方括号[]表示,元素之间用逗号,分隔。 定义和使用 # 定义一个列表 fruits = ['apple', 'banana

Python应用开发——30天学习Streamlit Python包进行APP的构建(9)

st.area_chart 显示区域图。 这是围绕 st.altair_chart 的语法糖。主要区别在于该命令使用数据自身的列和指数来计算图表的 Altair 规格。因此,在许多 "只需绘制此图 "的情况下,该命令更易于使用,但可定制性较差。 如果 st.area_chart 无法正确猜测数据规格,请尝试使用 st.altair_chart 指定所需的图表。 Function signa

C#中,decimal类型使用

在Microsoft SQL Server中numeric类型,在C#中使用的时候,需要用decimal类型与其对应,不能使用int等类型。 SQL:numeric C#:decimal

Docker启动异常

报错信息: failed to start daemon: Error initializing network controller: error creating default "bridge" network: cannot create network b8fd8c684f0ba865d4a13d36e5282fd694bbd37b243c7ec6c9cd29416db98d4b (d