gpt4 book ai didi

c++ - Visual Studio C++ 异常......怪异

转载 作者:太空狗 更新时间:2023-10-29 21:08:51 25 4
gpt4 key购买 nike

我有一个 Qt 应用程序,我在 release 配置中编译,运行,然后在程序中执行操作 X。一切运行良好。

然后我在调试配置中编译它,运行不调试(所以CTRL+F5),在程序中执行操作X。一切仍然运行良好。

但是当我尝试运行调试配置调试(所以只需按 F5)然后执行操作 X 时,Visual Studio 会中断并显示一条消息,指出已抛出异常... 完全不相关程序的一部分(正在执行的代码远离 VS 中断的站点,在 QHash 模板中)...然后 VS 挂起,我必须用任务管理器将其终止。我可以无限次地重复这个广告,它总是以同样的方式吓坏了。

Boost::exception 用于异常。 VS 是 2008,SP1。 Qt 是 4.6.2,使用来自 Qt 站点的预编译 VS 二进制文件。

有人知道发生了什么事吗?

最佳答案

Visual Studio 有一个称为“第一次机会异常处理”的功能,当附加到调试器运行时,您可以在抛出某些类型的异常时让调试器中断。

您可以通过转到 Debug -> Exceptions (Ctrl+Alt+E) 并(取消)选中相应的复选框来更改这些设置。

当它中断时,您应该会在“输出”窗口中收到一条消息,指示抛出的异常。

如果您启用了 _HAS_ITERATOR_DEBUGGING(它在调试版本中默认启用),它可能会导致大量迭代器错误抛出异常,而不是执行会导致访问冲突的操作。这是我能想到的唯一会导致异常“随机”发生的事情。

关于c++ - Visual Studio C++ 异常......怪异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2313894/

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