调试一个程序时,在关掉程序时,程序抛出了一个错误,错误提示信息如下:
Windows has triggered a breakpoint in *****.exe.
This may be due to a corruption of the heap, and indicates a bug in ****.exe or any of the DLLs it has loaded.
The output window may have more diagnostic information。
No symbols are loaded for any call stack frame. The source code cannot be displayed.
翻译过来,意思大致为windows在某某exe程序中引发一个断点。这可能由于堆得损坏,表示你的exe程序中或链接的DLL库中含有Bug。
在多次的调试下,还是没有找到是哪里出了错,于是上百度搜了一些相关信息。
网上对于该问题有这么几个观点:
1.由工作线程中一个堆内存释放写错了位置引起的。
2.一个堆错误的调试方法及PageHeap机制
http://blog.163.com/zhengjiu_520/blog/static/355983062009112295854632/
3.PageHeap调试法
http://blog.csdn.net/kkk8000/archive/2010/11/05/5988579.aspx