我试图理解非托管用户模式Windows进程可以“崩溃”的方式(这实际上是一个无所不在的术语)。
以下是我目前所知道的方式:
- 未处理的结构化异常
- 默认UnhandledExceptionFilter:Vista之前的postmortem调试器; Vista +中的WerFault
- 自定义UnhandledExceptionFilter:可以做任何喜欢的事情,包括安静地退出?
- “硬”崩溃(不确定是否有技术术语)
- E.g。在处理堆栈溢出时访问堆栈溢出防护页面:操作系统只是让进程消失而没有跟踪?
- “正常”退出:
- E.g。语言提供了自己的错误处理机制,使得操作系统发生致命的崩溃,就像应用程序正常关闭一样。
这大致是对的吗?有没有其他方法可以让用户模式的Windows进程死掉?