0

我曾经使用 VS2010 的 Release 版本,突然,当切换到 Debug 版本时,我收到一条断点错误消息,它被重定向到 C:\Program Files\Microsoft Visual Studio 10.0\VC\crt 中存在的文件 dbgrptt \src\dbgrptt.c

显示的错误信息是:

 ex.exe has triggered a breakpoint

这是显示错误消息后重定向的位置。

_CRTIMP void _cdecl _CrtDbgBreak(
void
)
{
__debugbreak(); 
}

我怎样才能摆脱它?

4

1 回答 1

2

CRT 的调试版本检测到出现问题。调试版本牺牲了运行速度,以便进行更昂贵的检查,以便能够检测到这种情况。它们通常是由代码中的错误引起的。换句话说,您的错误恰好没有在发布版本中体现 - 到目前为止。

你如何摆脱它?修复错误。在调试器下运行你的程序,当你遇到错误时,检查调用堆栈。向上调用堆栈,直到发现发生了什么。很有可能,您正在执行诸如使用悬空引用/指针或无效迭代器之类的操作,或者您正在访问超出范围的内容。

于 2013-06-18T13:51:48.543 回答