加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 检测到的内存泄漏

发布时间:2020-12-16 05:29:53 所属栏目:百科 来源:网络整理
导读:在我的wxWidgets应用程序中,当以调试模式运行时,我在Visual Studio 2010的输出中收到了这个消息.应用程序运行正常,我在关闭它后才看到这个消息. Detected memory leaks! Dumping objects - {9554} normal block at 0x003CDCC0,44 bytes long. Data: e n d 20
在我的wxWidgets应用程序中,当以调试模式运行时,我在Visual Studio 2010的输出中收到了这个消息.应用程序运行正常,我在关闭它后才看到这个消息.

Detected memory leaks!

Dumping objects ->

{9554} normal block at 0x003CDCC0,44 bytes long.
Data: < e n d > 20 C1 65 01 01 00 00 00 6E 00 00 00 9C CE 64 01

{9553} normal block at 0x003CDB58,8 bytes long.

Data: < D e < > 44 BD 65 01 C0 DC 3C 00
{9552} normal block at 0x003CDC50,48 bytes long.

Data: < e > A0 95 65 01 01 00 00 00 19 00 00 00 19 00 00 00

Object dump complete.

在我的程序中,我没有明确分配内存,但是wxWidgets框架是.我第一次收到这样的消息,不知道它的确切原因.

我如何摆脱这种内存泄漏?

解决方法

您只需要在主函数的开头添加以下行.添加此标志,Visual Studio将在创建内存泄漏的行中断.
_CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
    _CrtSetBreakAlloc(9554);
    _CrtSetBreakAlloc(9553);
    _CrtSetBreakAlloc(9552);

确保您具有正确的对象正常块地址,因为它们可能会更改,并确保您在_DEBUG上进行编译.

另见:_CrtSetDbgFlag和_CrtSetBreakAlloc MSDN参考.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读