gpt4 book ai didi

c++ - 定位内存泄漏

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:09:57 24 4
gpt4 key购买 nike

我目前正在使用带有 CrtDbg 的 Visual Studio 2012 调试一些代码,删除或至少定位内存泄漏。

问题是,只要分配号不变,追查分配还是很容易的。当分配数变化很大(或者不是真正确定性的)时,如何定位泄漏的分配点?我可以至少说一下,哪个模块正在分配内存吗?

我在关闭应用程序时有以下几行:

Detected memory leaks!
Dumping objects ->
{2789444} normal block at 0x0000000006103CB0, 32 bytes long.
Data: < q f > B8 71 E4 66 00 00 00 00 00 00 00 00 00 00 00 00
{1269709} normal block at 0x000000000A50C6A0, 1008 bytes long.
Data: < ) > 01 00 00 00 0B 00 00 00 29 00 00 00 CD CD CD CD
...
{2194} normal block at 0x0000000000278060, 16 bytes long.
Data: < > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Object dump complete.

最后一个分配编号 2194 是可重现的,并且与静态初始化程序有关。但其他数字正在发生变化。

我不能使用地址来定位它吗?或者有更简单的解决方案吗?

很有帮助。

最佳答案

我建议您使用可视检漏仪。我应该给你所有你需要的细节,这样你就可以追踪泄漏并且很容易安装。参见 here

关于c++ - 定位内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25288919/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com