Detected memory leaks!
Dumping objects ->
{2872} normal block at 0x0139BB70, 14 bytes long.
 Data: <DataFile\MH_4 > 44 61 74 61 46 69 6C 65 5C 4D 48 5F 34 00 
{2793} normal block at 0x0139BBB0, 14 bytes long.
 Data: <DataFile\MH_4 > 44 61 74 61 46 69 6C 65 5C 4D 48 5F 34 00 
{2714} normal block at 0x0139BBF0, 14 bytes long.
 Data: <DataFile\MH_3 > 44 61 74 61 46 69 6C 65 5C 4D 48 5F 33 00 
{2635} normal block at 0x0139BC30, 14 bytes long.
 Data: <DataFile\MH_3 > 44 61 74 61 46 69 6C 65 5C 4D 48 5F 33 00 
{2556} normal block at 0x0139BC70, 14 bytes long.
 Data: <DataFile\MH_2 > 44 61 74 61 46 69 6C 65 5C 4D 48 5F 32 00 
{2477} normal block at 0x0139BCB0, 14 bytes long.
 Data: <DataFile\MH_2 > 44 61 74 61 46 69 6C 65 5C 4D 48 5F 32 00 
{2398} normal block at 0x0139BCF0, 14 bytes long.
 Data: <DataFile\MH_1 > 44 61 74 61 46 69 6C 65 5C 4D 48 5F 31 00 
{2319} normal block at 0x0139BD30, 14 bytes long.
 Data: <DataFile\MH_1 > 44 61 74 61 46 69 6C 65 5C 4D 48 5F 31 00 
{2240} normal block at 0x0139BD70, 14 bytes long.
 Data: <DataFile\NH_6 > 44 61 74 61 46 69 6C 65 5C 4E 48 5F 36 00 
{2161} normal block at 0x0139BDB0, 14 bytes long.
 Data: <DataFile\NH_6 > 44 61 74 61 46 69 6C 65 5C 4E 48 5F 36 00 
{2082} normal block at 0x0139A050, 14 bytes long.
 Data: <DataFile\NH_5 > 44 61 74 61 46 69 6C 65 5C 4E 48 5F 35 00 
{2003} normal block at 0x0139A090, 14 bytes long.
 Data: <DataFile\NH_5 > 44 61 74 61 46 69 6C 65 5C 4E 48 5F 35 00 
{1924} normal block at 0x0139A0D0, 14 bytes long.
 Data: <DataFile\NH_4 > 44 61 74 61 46 69 6C 65 5C 4E 48 5F 34 00 
{1845} normal block at 0x0139A110, 14 bytes long.
 Data: <DataFile\NH_4 > 44 61 74 61 46 69 6C 65 5C 4E 48 5F 34 00 
{1766} normal block at 0x0139A150, 14 bytes long.
 Data: <DataFile\NH_3 > 44 61 74 61 46 69 6C 65 5C 4E 48 5F 33 00 
{1687} normal block at 0x0139A190, 14 bytes long.
 Data: <DataFile\NH_3 > 44 61 74 61 46 69 6C 65 5C 4E 48 5F 33 00 
{1608} normal block at 0x0139A1D0, 14 bytes long.
 Data: <DataFile\NH_2 > 44 61 74 61 46 69 6C 65 5C 4E 48 5F 32 00 
{1529} normal block at 0x013990D0, 14 bytes long.
 Data: <DataFile\NH_2 > 44 61 74 61 46 69 6C 65 5C 4E 48 5F 32 00 
{1450} normal block at 0x01399110, 14 bytes long.
 Data: <DataFile\NH_1 > 44 61 74 61 46 69 6C 65 5C 4E 48 5F 31 00 
{1363} normal block at 0x01399260, 14 bytes long.
 Data: <DataFile\NH_1 > 44 61 74 61 46 69 6C 65 5C 4E 48 5F 31 00 
{1056} normal block at 0x01398BE0, 14 bytes long.
 Data: <DataFile\MH_4 > 44 61 74 61 46 69 6C 65 5C 4D 48 5F 34 00 
{965} normal block at 0x01396D90, 14 bytes long.
 Data: <DataFile\MH_3 > 44 61 74 61 46 69 6C 65 5C 4D 48 5F 33 00 
{875} normal block at 0x01395100, 14 bytes long.
 Data: <DataFile\MH_2 > 44 61 74 61 46 69 6C 65 5C 4D 48 5F 32 00 
{785} normal block at 0x01395430, 14 bytes long.
 Data: <DataFile\MH_1 > 44 61 74 61 46 69 6C 65 5C 4D 48 5F 31 00 
{695} normal block at 0x013941C0, 14 bytes long.
 Data: <DataFile\NH_6 > 44 61 74 61 46 69 6C 65 5C 4E 48 5F 36 00 
{604} normal block at 0x01395AA0, 14 bytes long.
 Data: <DataFile\NH_5 > 44 61 74 61 46 69 6C 65 5C 4E 48 5F 35 00 
{514} normal block at 0x01394540, 14 bytes long.
 Data: <DataFile\NH_4 > 44 61 74 61 46 69 6C 65 5C 4E 48 5F 34 00 
{423} normal block at 0x01394120, 14 bytes long.
 Data: <DataFile\NH_3 > 44 61 74 61 46 69 6C 65 5C 4E 48 5F 33 00 
{332} normal block at 0x013944A0, 14 bytes long.
 Data: <DataFile\NH_2 > 44 61 74 61 46 69 6C 65 5C 4E 48 5F 32 00 
{240} normal block at 0x01394870, 14 bytes long.
 Data: <DataFile\NH_1 > 44 61 74 61 46 69 6C 65 5C 4E 48 5F 31 00 
Object dump complete.
The thread 0x1E8 has exited with code 0 (0x0).程序运行没有问题,就是在结束后会显示这些东西,也没有报错,不知道有没有关系,到底什么意思,怎么解决,因为是2人合作,另一个人用的标准c++,我用vc
中间会有一些类型转换,接口,分别调试运行都没有问题,一接上来就有如上。

解决方案 »

  1.   

    这是内存泄露问题,在程序运行到该模块时会报错,从你的情况来看,应该是你在程序中生成了某些对象而没有delete它们!
      

  2.   

    兄弟,你的动态分配的数组或其他new的东东搞忘了
      

  3.   

    内存泄漏
    用BOUNDSCHECKER查查就知道了
      

  4.   

    boundschecker是什么?  软件么? 哪下,怎么用?
    这个部分不是我做的,不过我们现在需要把他们连起来,所以这个问题必须解决,new了的好象都delete了啊,我帮他跟踪过了,只是他里面用了vector,我不知道会不会这个里面会产生这个问题,我不是很熟悉这个
      

  5.   

    我的程序没有报错,运行正常,只是关闭的时候出现上面问题,但是好象不影响程序运行,也没有异常中断,我编译成exe文件,运行也没有问题
      

  6.   

    有申请内存但没有DELETE的情况存在,不是什么大问题,如果你要求不高或是时间紧张,不改亦可;不过做为良好的编程习惯,还是查一查,"小洞不补,大洞吃苦".是在MFC中做的?
      

  7.   

    我的部分是在MFC中做的,没有泄露问题,我调试过。他的部分是用标准C++写的,单独调试好象也没有问题,可是放到我的工程里面,连接起来就出现上面问题了,怎么去查,我觉得好辛苦,我帮他查了一晚,好象也没有发现问题的地方。
      

  8.   

    如果是在MFC中,你贴出来的提示部份好像不全,应该是可以看到在那个文件的CODE中出现泄露的.你再仔细看看.
      

  9.   

    有可能是new 的位置有问题,我已遇到过这样的问题,好像吧new放在for循环之外就解决了,你考虑一下吧
      

  10.   

    new放到循环之外? 这跟new的位置有什么关系呢?  我要循环创建对象啊
      

  11.   

    请告诉我DataFile\MH_2 这个是个什么东西?
      

  12.   

    关注!我的程序类似,只要点击过菜单命令,再点退出按钮(PostMessage(WM_CLOSE)),就会再现非法操作,而直接点击FILE_EXIT却没有任何问题,不知为何?
      

  13.   

    内存泄漏,注意不起眼的CString是一个很大的嫌疑
      

  14.   

    程序存在内存泄露,但不影响程序的正确运行。
    注意new后,一定要delete,就不会有这种现象发生
      

  15.   

    http://expert.csdn.net/Expert/topic/1239/1239804.xml?temp=.2189142
    问题也许在这,那也有不少分给的,谢谢帮忙看看
      

  16.   

    内存泄漏是肯定的,如果你只想转换STL的string和MFC的CString ,可以这样
    CString m_sRoleName;
    string ss = m_sRoleName.GetBuffer(m_sRoleName.GetLength());
    没有问题。
    反过来转换是
    string ss;
    CString m_sRoleName = ss.c_str();
    在STL和MFC结合中写程序,我也干过,类似的问题还很多
      

  17.   

    我是想STL的string->MFC的CString,但是由于一些原因,我要写一个函数,带入一个CString,返回一个string,而且返回的这个string不能是局部对象,因为我(其实不是我,是另外一个人)在外面还要用
      

  18.   

    有申请内存但没有DELETE的情况存在,不是什么大问题!
      

  19.   

    如果是在MFC你自己的源码中出现的内存泄漏,在MFC调试器中会有调试信息输出指出是在代码的什么地方出现的new操作符,因为debug版中vc会把new宏定义为MFC内部的另一个内存分配函数调用,而这个函数可以记录内存分配的位置。 你给出的信息里没有行号,所以你的问题不是在你自己写的MFC代码中。但有可能是由你自己写的代码所引起,比如如果想在initinstance中结束进程,就不能用exitprocess(),而只能用return FALSE;其它的事,由MFC类库替你完成。
      

  20.   

    看你的错误信息,好像是一个二维数组没有释放,另外那些block的大小也能帮你找到分配内存的地方,照你的看来应该是  char ** p = new char[][14]之类的
      

  21.   

    还有可能就是new出来的指针后来被函数改动了,导致那个指针指向的内存和原来new的那块内存不符,最终导致delete执行失败,这种情况下虽然用了new和delete却仍有内存泄漏