我正在 VS 中调试我用 C 编写的代码。 出于某种原因,在某些时候它会跳转到带有以下行的程序集窗口:
int 3
然后会出现一个弹出消息框,其中包含以下消息:
User Breakpoint Called From Code At 0X7c90120120e
我查看了堆栈,导致它的命令是 MALLOC !
在输出窗口中:
Heap missing last entry in committed range near 22549c0
奇怪的是,当我在收到消息时按 OK,然后按 F5 键继续调试时,一切都100% 正常运行。但是当我尝试执行代码时,我收到一条消息,指出我的项目遇到了一些问题。
我尝试清理我的项目、重建、删除所有断点.. 没有任何效果。
最佳答案
首先感谢大家的评论/回答。
我解决了这个问题。我发现我试图两次释放相同的内存。
我之前没有注意到的原因是“Free”(删除函数)与调试器停止的地方/断点发生的地方(在 malloc 上)不在同一个函数中,也不在同一个文件中。
因此,如果有人遇到同样的问题,请确保您没有多次释放同一内存。
关于c++ - 从 0X7c90120120e 处的代码调用的用户断点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18361170/