4

我正在调试我用 C 编写的 VS 中的代码。出于某种原因,它有时会跳转到带有以下行的程序集窗口:

  int        3

并出现一个弹出消息框,其中包含以下消息:

  User Breakpoint Called From Code At  0X7c90120120e

我查看了堆栈,导致它的命令是MALLOC

在输出窗口中:

Heap missing last entry in committed range near 22549c0

奇怪的是,当我在消息中按 OK 时,然后 F5 继续调试它会继续并且一切正常 100%。但是当我尝试执行代码时,我收到一条消息,表明我的项目遇到了一些问题。

我尝试清理我的项目,重建,删除所有断点......没有任何效果。

4

2 回答 2

4

首先感谢大家的评论/回答。

我解决了这个问题。我发现我试图两次释放相同的内存。

我之前没有注意到它的原因是“免费”(删除函数)与调试器停止/断点发生的位置(在 malloc 上)不在同一个函数中,也不在同一个文件中。

因此,如果有人遇到同样的问题,请确保您没有多次释放相同的内存。

于 2013-08-22T11:24:03.243 回答
2

此堆栈溢出线程的可能重复项 。此链接中对此问题进行了解释。希望对您有所帮助。

于 2013-08-21T15:32:28.823 回答