VS2008,C。还使用了一些预构建的库。当我在调试器中单步执行我的代码并遍历被调用的库函数时,我得到了这个:
HEAP [unit_test.exe]:堆在 35c70 附近的已提交范围内缺少最后一个条目 Windows 已触发 unit_test.exe 中的断点。
这可能是由于堆损坏,这表明 unit_test.exe 或其已加载的任何 DLL 中存在错误。
这也可能是由于用户在 unit_test.exe 获得焦点时按 F12。
输出窗口可能有更多诊断信息。
关于如何调试的任何想法?
更新:我重构了代码并看到在执行 printf() 时出现了弹出窗口。当有一个 free() 时,我也得到它。我注释掉了这些行,现在当有一个 malloc() 时,我得到了堆损坏弹出对话框。