我在测试程序中犯了很多错误!!!
debug src:http://www.cppblog.com/Files/mymsdn/cvector-windows-has-triggered-a-breakpoint-in-cvector.zip
正确的版本:http://www.cppblog.com/Files/mymsdn/cvector-svn-version-10.zip
我正在尝试编写一个C语言版本的vector struction。
如果我尝试运行(在Microsoft Visual Studio 2008中,默认快捷方式是CTRL + F5)我的代码。它可以作为正确的逻辑执行输出正确的结果。
但是如果我尝试在调试模式下运行它(在Microsoft Visual Studio 2008中,默认快捷方式是F5)。它会导致一个问题:(它来自输出窗口,并且还有一个警报框来报告它)
HEAP [cvector.exe]:HEAP:免费堆块393168在被释放后在393190修改 Windows在cvector.exe中触发了断点。
这可能是由于堆的损坏,这表示cvector.exe或其加载的任何DLL中存在错误。
这也可能是由于用户在cvector.exe有焦点时按下F12。
输出窗口可能包含更多诊断信息。
答案 0 :(得分:4)
此错误表示您已写入您实际上并未“拥有”的内存地址 - 例如,您在释放后写入内存,或者在您实际分配new
或{的区域之外写入内存{1}},或通过一个完全错误的指针。
答案 1 :(得分:1)
检查您的调试设置。关闭“非托管代码调试”和“SQL Server调试”。
当我使用Oracle组件获取此功能时,这对我有用。如果我一直打到继续,没有中断错误,程序继续进行。关闭这些调试选项让它继续运行,程序现在可以运行。