我曾经使用 VS2010 的发布版本,突然,当切换到调试版本时,我收到一条断点错误消息,它被重定向到文件 dbgrptt,该文件位于 C:\Program Files\Microsoft Visual Studio 10.0\VC\crt\src\dbgrptt.c
显示的错误信息是:
ex.exe has triggered a breakpoint
这是显示错误消息后重定向的位置。
_CRTIMP void _cdecl _CrtDbgBreak(
void
)
{
__debugbreak();
}
我怎样才能摆脱它?
最佳答案
CRT 的调试版本检测到出现错误。调试版本牺牲了运行时速度以进行更昂贵的检查,以便它可以检测到此类情况。它们通常是由代码中的错误引起的。换句话说,您的错误碰巧没有出现在发布版本中 - 到目前为止。
如何摆脱它?修复错误。在调试器下运行您的程序,当您遇到错误时,检查调用堆栈。向上调用堆栈,直到您发现发生了什么。很有可能,您正在做一些事情,比如使用悬空引用/指针、无效的迭代器,或者您访问了一些越界的东西。
关于c++ - CrtDbgBreak 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17170271/