# YY.CRT.Handler.Thunks
**Repository Path**: mirrors_Chuyu-Team/YY.CRT.Handler.Thunks
## Basic Information
- **Project Name**: YY.CRT.Handler.Thunks
- **Description**: 自动将_invalid_parameter、_purecall转换到SEH异常而不是fastfail退出,方便收集dmp。
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-09-24
- **Last Updated**: 2026-05-17
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# YY.CRT.Handler.Thunks
## 1. YY.CRT.Handler.Thunks
Windows 8开始支持了fastfail,于此同时微软CRT原版大量的异常处理(比如说_invalid_parameter)默认情况也将直接调用fastfail退出程序,这使得捕获某些异常状态的dmp变得更加困难。
因为SetUnhandledExceptionFilter没有机会处理这些信息。
[ [YY交流群 633710173](https://shang.qq.com/wpa/qunwpa?idkey=21d51d8ad1d77b99ea9544b399e080ec347ca6a1bc04267fb59cebf22644a42a) ]
### 1.1. 原理
通过链接时Hook,代替微软CRT中的_invalid_parameter、_purecall等函数。仅针对模块自身有效,不会产生污染。
> 使用本库后 _set_invalid_parameter_handler、_set_purecall_handler 之类的操作会直接无效!
### 1.2. Thunks列表
* _invalid_parameter
* _purecall
## 2. 使用YY.CRT.Handler.Thunks
### 2.1. 通过NuGet引用(推荐)
1. 项目右键 - 管理 NuGet 程序包。
2. 在搜索框中输入YY.CRT.Handler.Thunks,然后点击安装。
3. 重新编译代码。
### 2.2. 传统方式引用
1. 下载[YY.CRT.Handler.Thunks-Binary](https://github.com/Chuyu-Team/YY.CRT.Handler.Thunks/releases),然后解压到你的工程目录。
2. 【链接器】-【输入】-【附加依赖项】,添加`objs\$(PlatformShortName)\YY.CRT.Handler.Thunks.obj`。
3. 重新编译代码。
## 3. YY-Guard兼容性
### 3.1. 支持的编译器
全平台ABI兼容。
* 支持的平台工具集:Visual Studio 2012、Visual Studio 2013、Visual Studio 2015、Visual Studio 2017以及Visual Studio 2019。
* 所有运行库模式均支持(比如:`/MD`、`/MT`、`/MDd`、`/MTd`)。
> Visual Studio 2012之前的工具集由于不会使用fastfail,因此用了本库那也是白用。
## 更改日志
[更改日志](https://github.com/Chuyu-Team/YY.CRT.Handler.Thunks/wiki)