gpt4 book ai didi

windows - 非托管 Windows 进程崩溃的方式?

转载 作者:可可西里 更新时间:2023-11-01 10:29:43 26 4
gpt4 key购买 nike

我正在尝试了解非托管用户模式 ​​Windows 进程“崩溃”的方式(这确实是一个包罗万象的术语)。

以下是目前我所知道的方法:

  • 未处理的结构化异常
    • 默认 UnhandledExceptionFilter:Vista 之前的事后调试器; Vista+ 中的 WerFault
    • 自定义 UnhandledExceptionFilter:可以为所欲为,包括安静地退出?
  • “硬”崩溃(不确定是否有技术术语)
    • 例如在处理堆栈溢出时命中堆栈溢出保护页:操作系统只是让进程消失得无影无踪?
  • “正常”退出:
    • 例如语言提供自己的错误处理机制,使操作系统看起来像应用程序已正常关闭一样发生致命崩溃。

这大致正确吗?有没有其他方法可以让用户模式 ​​Windows 进程终止?

最佳答案

  • 未处理的异常——这通常就是人们所说的“崩溃”
  • 堆栈损坏的异常 - 如果堆栈损坏并且无法遍历异常链,进程将被静默终止。
  • 明确终止
    • 从另一个进程(例如 TaskManager、kill.exe)调用 TerminateProcess ,
    • C/C++ 运行时 fatal error 、/GS 堆栈 cookie 损坏等。
  • 附加调试器并在不分离的情况下退出调试器
  • 如果您终止相应的 conhost.exe 进程,控制台应用程序将终止

关于windows - 非托管 Windows 进程崩溃的方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3613108/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com