gpt4 book ai didi

debugging - DebugBreak()导致Win7 x64卡在一台特定计算机上?可能的设置问题?

转载 作者:行者123 更新时间:2023-12-03 15:43:02 25 4
gpt4 key购买 nike

我们使用DebugBreak()和/或asm int 3作为在发生断言时停止单元测试框架的方法。单元测试框架作为用户模式应用程序运行。

我们正在运行Win 7 x64企业版,通常使用vs2008,但也使用Windbg。通常,在调用DebugBreak时,会弹出“检查解决方案/关闭/调试”对话框。

在一个用户的计算机(Dell T5500,8核,12GB)上,DebugBreak调用导致整个计算机停止。时钟小部件停止滴答,鼠标停止移动,键盘停止响应。即使我们已检查对话框是否配置为,也不会弹出对话框。我们需要强制关闭计算机以进一步执行任何操作。

是否有人知道可能导致这种情况的任何类型的windbg或其他JIT调试选项?该用户猜测他的计算机可能像其用于远程调试的设置一样工作,但这不是内核问题。我们经常使用远程调试,但是挂起的计算机通常是调试器,而不是被调试器。

最佳答案

因此,在重新考虑并重新研究之后,事实证明,很久以前,开发人员就在其开发系统上启用了调试器,因此DebugBreak实际上正在停止内核。从他的机器上:
C:\>bcdeditWindows Boot Manager

--------------------
标识符{bootmgr}
设备分区= \ Device \ HarddiskVolume1
说明Windows启动管理器
美国地区
继承{globalsettings}
默认{当前}
超时30

resumeobject {fdc7f9bc-32c9-11df-8189-b982443308cd}
displayorder {当前}
toolsdisplayorder {memdiag}Windows Boot Loader

-------------------
标识符{当前}
设备分区= C:
路径\ Windows \ system32 \ winload.exe
说明Windows 7
美国地区
继承{bootloadersettings}
恢复序列{fdc7f9c0-32c9-11df-8189-b982443308cd}
恢复启用是
osdevice partition = C:
systemroot \ Windows
resumeobject {fdc7f9bc-32c9-11df-8189-b982443308cd}
nx OptIn
调试是

禁用该功能可使一切正常运行。谢谢你的时间。

关于debugging - DebugBreak()导致Win7 x64卡在一台特定计算机上?可能的设置问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5317334/

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