gpt4 book ai didi

windows - 在哪些情况下程序会以 0x40010004 代码退出?

转载 作者:可可西里 更新时间:2023-11-01 12:43:00 24 4
gpt4 key购买 nike

我的程序设计为在 Windows 平台上运行。

有时它会因错误而终止。我无法在安装它的每台计算机上调试它;所以我向它添加了矢量异常处理程序,它向服务器发送一些关于异常的信息。有一些 0xC0000005 异常;我修复了它,但程序仍然终止(我无法在我的 PC 上重现错误)。

我写了另一个程序,它等待主进程句柄,并在主进程终止时发送带有进程退出代码的报告。我查看了退出代码,其中大部分是 0x40010004 (DBG_TERMINATE_PROCESS)。我知道当调试器附加到应用程序然后终止它时会出现此退出代码;但我确定没有调试器。

那么...在哪些其他情况下可以使用 DBG_TERMINATE_PROCESS 退出代码终止进程?

最佳答案

从理论上讲,它可以是任何东西,因为 TerminateProcess 有一个退出代码参数。

在实际方面,这很可能是由于系统关闭造成的。当 Windows 关闭时,它会尝试正常退出正在运行的程序(更多关于 here )。如果他们拒绝退出,他们可能会被系统终止,退出代码为 0x40010004。例如,如果您有一个显示模态对话框的 GUI 程序,然后您尝试关闭系统,系统将提示您一条消息“xy.exe 正在阻止关闭”。如果单击“强制关闭”,进程将被终止,退出代码为 0x40010004

如果您尝试重现这一点,请注意等待您的应用程序进程 HANDLE 的程序可能会在您的主应用程序之前终止。

关于windows - 在哪些情况下程序会以 0x40010004 代码退出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37078953/

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