我的一个程序debug的时候出现以下错误:
Detected memory leaks!
Dumping objects ->
{4444} normal block at 0x013F0D20, 8 bytes long.
 Data: <        > 07 00 00 00 03 00 00 00 
{4443} normal block at 0x013F0CD0, 16 bytes long.
 Data: <      ? ( ? ( ? > CD CD CD CD 20 0D 3F 01 28 0D 3F 01 28 0D 3F 01 
{4441} normal block at 0x013F0C18, 8 bytes long.
 Data: <        > 07 00 00 00 02 00 00 00 
{4440} normal block at 0x013F06F0, 16 bytes long.
 Data: <      ?   ?   ? > CD CD CD CD 18 0C 3F 01 20 0C 3F 01 20 0C 3F 01 
{4439} normal block at 0x013F0B90, 72 bytes long.
 Data: <                > 01 00 00 00 01 00 00 00 02 00 00 00 01 00 00 00 
……………………………………
 Data: <      ?   ?   ? > CD CD CD CD D8 91 3F 00 94 94 3F 00 E8 94 3F 00 
{241} normal block at 0x003F7F00, 16 bytes long.
 Data: <                > CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD 
{84} client block at 0x003F5110, subtype c0, 88 bytes long.
a CWnd object at $003F5110, 88 bytes long
Object dump complete.
请问这样的问题一般是如何引起的?我用appwizard生成的单文档程序,除核心计算之外,只加了几个对话框。

解决方案 »

  1.   

    就是内存泄露啊,一般是new以后没有delete,上面已经指出了泄露的位置,你找找看
      

  2.   

    除了new以后,没有delete以外,其它所有你分配的内存(zeromemory(),alloc()等方法,以及调用系统函数,分配内存,但系统不负责回收的),你都得做处理,是非常小心才行。特别是做大程序。
      

  3.   

    回复人: DDHuang(叮咚) ( ) 信誉:100  2003-08-21 15:29:00  得分:0 
     就是内存泄露啊,一般是new以后没有delete,上面已经指出了泄露的位置,你找找看
      
    请问他的位置在哪?怎么才能察看?
     
      

  4.   

    双击提示信息,没有转到new的地方吗,看样子是你用new 的方法创建了窗口,而没有delete造成的,仔细检查一下你的代码
      

  5.   

    跟踪“0x013F0D20”地址空间在哪里使用的,如果申请了空间,在结束使用时释放该空间。