向量化异常处理过程宽?
Vectored Exception Handling Process wide?
我知道 Windows 为进程中的每个 运行 线程单独构建一个结构化异常处理链。我想知道使用 veh 时,注册的异常处理程序是否会在进程范围内被调用(无论异常发生在何种威胁下),或者是否也在每个线程的基础上注册?
是的,向量异常处理程序是进程范围的。
来自MSDN:
An application can register a function to watch or handle all
exceptions for the application. Vectored handlers are not frame-based,
therefore, you can add a handler that will be called regardless of
where you are in a call frame.
New Vectored Exception Handling in Windows XP 作者 Matt Pietrek 指出:
The handler list is not tied to any thread, and is global to the
process.
我知道 Windows 为进程中的每个 运行 线程单独构建一个结构化异常处理链。我想知道使用 veh 时,注册的异常处理程序是否会在进程范围内被调用(无论异常发生在何种威胁下),或者是否也在每个线程的基础上注册?
是的,向量异常处理程序是进程范围的。
来自MSDN:
An application can register a function to watch or handle all exceptions for the application. Vectored handlers are not frame-based, therefore, you can add a handler that will be called regardless of where you are in a call frame.
New Vectored Exception Handling in Windows XP 作者 Matt Pietrek 指出:
The handler list is not tied to any thread, and is global to the process.