调试器中的 C++ 单步抛出异常

标签 c++ visual-studio-2010 debugging

我有一个 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/

相关文章:

c++ - C++ 中的函数指针错误

C++ CGI脚本,读取表单数据

c# - Visual C#/WinForms 面板

visual-studio - 如何获取GDB中的物理地址?

c++ - 从注册表 HKEY_LOCAL_MACHINE 中删除 key

c++ - 没有测试用例的Boost单元测试框架

visual-studio-2010 - 带有 Crystal 报告和 VS2010 的设置项目无法注册 Crystal dll

c++ - 使用 Boost::Asio 发送 TCP SYN 数据包

php - 如何在 lldb 中的实时运行脚本上转储 PHP 回溯?

c - 阻止 GDB 单步执行 glibc 函数