非托管Windows进程崩溃的方法? [英] Ways for an unmanaged Windows process to crash?

查看:163
本文介绍了非托管Windows进程崩溃的方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想了解非管理的用户模式Windows进程可能崩溃的方式(这是一个非常全面的术语)。

I am trying to understand the ways in which an unmanaged user-mode Windows process can "crash" (which is really too much of a catch-all term).

这里是我迄今为止知道的方式:

Here are the ways I know of so far:


  • 未处理的结构化异常


    • 默认UnhandledExceptionFilter:pre-Vista中的postmortem调试器; WerFault in Vista +

    • Custom UnhandledExceptionFilter:可以做任何喜欢的事,包括安静地退出。


    • 例如



    这是否大致正确?

    推荐答案


    • 未处理的异常 - 这通常是人们称为崩溃的

    • 异常与损坏的堆栈 - 如果堆栈被破坏,异常链不能走,该进程被默默杀死。
    • 显示终止

      • 从另一个进程(例如TaskManager,kill.exe)调用 TerminateProcess

      • C / C ++运行时致命错误, / GS堆栈Cookie损坏等

        • Unhandled exception - this is usually what people would call "crash"
        • Exception with corrupted stack - if the stack is corrupted and the exception chain cannot be walked, the process is silently killed.
        • Explicit termination
          • From another process (e.g. TaskManager, kill.exe) calling TerminateProcess,
          • C/C++ runtime fatal error, /GS stack cookie corruption, etc.
          • 这篇关于非托管Windows进程崩溃的方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆