程序中到处都用了SEH的try...catch,但总是会静静地退出,从外部的进程查询它的退出码,结果是0xc0000417,上网一查,未知软件错误。

它是谁来抛出的异常?windows,C++库,用户代码?

我真没有抛出这样的异常,windows自己抛出的异常就应该不叫未知软件错误了,估计是C++框架抛出的。

那么怎么找呢?我直接到VS的安装目录去找0xc0000417,结果在ntstatus.h找到定义:

//
// MessageId: STATUS_INVALID_CRUNTIME_PARAMETER
//
// MessageText:
//
// An invalid parameter was passed to a C runtime function.
//
#define STATUS_INVALID_CRUNTIME_PARAMETER ((NTSTATUS)0xC0000417L)

原来是非法句柄错误,但我又没有用_set_invalid_parameter_handler设置处理回调函数。

这样C++框架发现了这一情况,就调用了_invoke_watson函数,它把UnhandledExceptionFilter重设

(导致程序一开始设置的UnhandledExceptionFilter不可用),然后调用默认的UnhandledExceptionFilter之后,

就TerminateProcess结束进程,这就是为什么程序总是静静地退出了。

C++ 0xc0000417 错误相关推荐

  1. UltraEdit 应用程序发生错误0xc0000417

    最近安装了新版的UltraEdit, 但一运行就跳出错误对话框:"配置文件更新: Uedit32.exe - 应用程序错误: 应用程序发生异常 未知的软件异常 (0xc0000417),位置 ...

  2. explorer.exe 应用程序错误 应用程序发生异常 未知软件异常 (0xc0000417),位置为 0x100170e9

    解决方法: 开始→运行→输入cmd→回车,在命令提示符下输入: for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1回车.  完成后,输入 ...

  3. 记一次悲催的软件异常崩溃调试解决历程,错误0xc0000417,无效参数,_set_invalid_parameter_handler

    这个问题其实分析了好几天,一步一步,最终找到答案,写这个文章的意义,不在于本次解决问题,在于总结,也是反思.

  4. Ultraedit启动提示配置文件更新:Uedit32.exe应用程序错误的解决办法

    错误信息为: 弹出应用程序: 配置文件更新: Uedit32.exe - 应用程序错误: 应用程序发生异常 未知的软件异常 (0xc0000417),位置为 0x00ae1425. 解决办法: 在资源 ...

  5. Gradle错误提示:Java home supplied via ‘xxx.xxx.xxx‘ is invalid

    Gradle错误提示:Java home supplied via 'org.gradle.java.home' is invalid 描述:在使用idea采用gradle进行依赖的管理功能,当想切换 ...

  6. Myeclipse中项目没有代码错误提示,jsp页面无编译迹象?如何解决

    在使用Myeclipse开发项目时,发现jsp页面中嵌入的java代码没有编译的迹象,错误的get方法没有报错,没有报错信息我们如何知道我们开发的内容是正确的呢? 接下来就演示一下如何解决

  7. Go语言的错误异常处理机制及其应用

    一.背景 在日常编写golang程序或阅读别人的golang代码时,我们总会看到如下的一堆代码块: xx, err = func(xx) if err != nil {//do sth. to tac ...

  8. java通过异常处理错误,java基础之通过错误处理异常

    我们在编程过程中,通常需要时刻关注可能遇到的问题,此时可以把问题分为两类:普通问题与异常问题.普通问题:我们可以通过从当前环境中获取到的信息来解决这个问题:而异常问题:在当前环境中获取到的信息并不能解 ...

  9. php错误提示如何查询,php-如何显示我的MySQLi查询错误?

    这个问题已经在这里有了答案: mysqli_fetch_assoc()期望参数/调用成员函数bind_param()错误. 如何获取并修复实际的mysql错误? 1个答案 mysqli还是死了,它必须 ...

最新文章

  1. mysql数据库常用命令
  2. 【Spark Summit EU 2016】使用Spark和StreamSets构建数据通道
  3. 菠萝派php示例,菠萝派 - 美食杰 - 美食,菜谱 - 中国最全的家常菜谱美食网
  4. 关 于 解 析 php 的 问 题
  5. docker 开启命令\退出容器
  6. html适配Anroid手机
  7. vc6.0 绘制散点图_vc有关散点图的一切
  8. js正则匹配闭合标签_正则匹配闭合HTML标签(支持嵌套)
  9. 基于jQuery实现垂直轮播效果
  10. maven 插件使用之:打包jar到lib
  11. A.2.3-猜数字游戏
  12. ADS(Advanced Design system)仿真对电路进行阻抗匹配
  13. python计算sin程序_Python sin() 函数
  14. python控制微信app_Appium+python在微信的hybridapp里的坑
  15. C1任务01-修改《植物大战僵尸》游戏存档
  16. 2018年全国高中数学联赛浙江省预赛
  17. mysql命令行的使用
  18. 《黑客与画家》读后感--为什么书呆子不受欢迎
  19. 记录一次nodejs爬取《17吉他》所有吉他谱(只探讨技术)
  20. java.util.stream.Stream案例解读

热门文章

  1. CSDN外链解决方法 (2022-07-28测试可用)
  2. 检查linux中nginx是否已安装成功,linux服务下安装nginx 系统版本Ubuntu 18.04.4
  3. 创建前缀索引时,如何确认“最佳长度”
  4. 学习Linux系统清理/var/log/journal/垃圾日志教程
  5. 正常计算机的c盘空间多大,往往C盘剩余空间多少为宜
  6. spring mvc 附件上传至腾讯云qcloud
  7. 怎样把PDF文件转换成JPG图片
  8. 阿里云大数据开发三面面经,已过,面试题已配答案
  9. BGP路由器协议排错教程:BGP 对等体翻动问题
  10. 2.Elasticsearch-增删改