结构化异常SEH处理机制详细介绍(一)
结构化异常处理(SEH)是Windows操作系统提供的强大异常处理功能。而Visual C++中的__try{}/__finally{}和__try{}/__except{}结构本质上是对Windows提供的SEH的封装。
一、分类
- Per-Thread类型SEH(也称为线程异常处理),用来监视某线程代码是否发生异常。
- Final类型SEH(也称为进程异常处理、筛选器或顶层异常处理),用于监视整个进程中所有线程是否发生异常。在整个进程中,该类型异常处理过程只有一个,可通过SetUnhandledExceptionFilter设置。
二、SEH相关的数据结构和API
2.1、相关结构
1) 线程信息块TIB(Thread Information Block或TEB)