我有一个运行一些不稳定硬件的控制台应用程序。如果我不能很好地脱离它,Windows 会在五分钟后蓝屏。我可以使用 SetConsoleCtrlHandler 捕捉应用程序关闭的时间。但是当我在 visual studio 中点击“停止调试”时,它会跳过这个过程并残忍地杀死程序。截至 2009 年,它出现 nobody有一个solution为此problem .
现在还是这样吗?如果我不小心按错了按钮,我真的必须忍受蓝屏吗?
最佳答案
终止进程是该按钮的作用。如果您希望程序正常终止,则需要让它运行完成。您可以使用调试器的“继续”按钮,或者只是脱离进程,然后以正常方式退出程序。或者您可以使用调试器做一些让程序自行退出的事情,例如设置一个控制主循环的“完成”标志。
您可能会考虑将您的程序分成两部分:处理硬件特性并向控制台应用程序提供“干净”界面的服务,以及与服务而不是直接与硬件对话的控制台应用程序。
关于c++ - Visual Studio 停止调试时真的可以不清理吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5906422/