SEH,堆栈损坏以及操作系统接管的其他方案

时间:2013-11-28 13:37:16

标签: c++ c windows native internals

目前,我知道有两种情况:windows由于“面向错误的原因”而控制线程的执行(尽管有时用作代码流机制,例如{{1} }):

  1. SEH(分别是c,c ++包装器 - try/catch__try/__except),其中还有一个API可用于生成自己的例外。

  2. 堆栈损坏。

  3. 据我所知,在发生案例(2)时,操作系统会关闭整个过程,而不会发出任何用户通知。

    我的奇迹如下:

    1. 对于try/catch应用程序线程是否有任何其他记录方式以操作系统控制方式“搞乱”?

    2. 除了堆栈损坏之外,是否存在整个流程未经通知关闭的情况?

    3. 是否存在user-mode阻止,catch阻止,甚至更积极地将__except手动放置在EXCEPTION_RECORD中的功能(如在Pietrek's article)中显示,在抛出异常时不会给予控制权?

0 个答案:

没有答案