我有一个 C++ 应用程序,当我尝试从断点单步执行时会抛出异常。例如:
1) 从附加了 VS2010 0 调试器的启动应用程序。
2) 设置断点。在哪里似乎并不重要。
3) 在应用程序中执行某些操作,使其到达断点。
** VS2010 突破点
4) 将调试器单步执行到下一行代码。
VS2010 弹出消息框有这个异常:
“SimpleGraphSDI.exe 中 0x087df66f 处未处理的异常:0xC0000005:访问冲突。”
请注意,如果我在连续两行代码上设置断点,然后按运行从一行前进到另一行,应用程序将“运行”到下一行代码,不会出现任何问题。访问冲突仅在我使用 VS2010 中的单步命令时出现。
应用程序中的某些代码自 VC6 以来就存在,可能更早。但是不知道这是否相关。
更新:如果我启动应用程序并在应用程序启动后附加调试器,则单步执行调试器时不会发生异常。
最佳答案
我遇到了完全相同的问题。我能够通过从命令行启动 VS 告诉它将 UI 重置为默认 (/ResetSettings)
命令行参数的详细信息来解决它 here
我在重置VS后不需要重启,但我在完成环境重置后对项目进行了完整的重建。
关于调试器中的 C++ 单步抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8301976/