遇到很奇怪的问题,
CXXDialog有几个成员变量,然后在OnInitDialog几乎没怎么操作,除了把个别空间EnableWindow(FALSE)然后我创建模式对话框
CXXDialog dlg;
dlg.DoModal();每创建一次我观测内存以及虚拟内存,每当我创建几个对话框,然后点击关闭后,虚拟内存都有增长,
我搞不懂这个内存是怎么增长的,我确保CXXDialog没有动态new内存,不知道每次增加的内存从哪里来的,按道理DoModal()后,我点击关闭对话框,对话框资源应该销毁了啊,怎么会有内存泄漏????在线请教,这个问题郁闷了我一天了....

解决方案 »

  1.   

    这个不一定是内存泄漏,用BoundsChecker检测也有内存泄漏么?
      

  2.   

    hxzmm() :
    我感觉是,我正在下载BoundsChecker来检查,其实我操作很简单
    我主界面很复杂,我建立了一个按钮,如果不点击这个按钮,虚拟内存不增长,
    我点击按钮后创建模式对话框CXXDialog,然后关闭这个对话框,连续操作几次后
    虚拟内存还是增长了....yjgx007(who's superior) 
    什么叫系统自动分配?模态对话框不需要我们自己手动销毁对话框资源的啊,而且我
    内部也没有new这样的操作,那么这个虚拟内存的增长从何而来呢
      

  3.   

    happyness44(风雨人生) :
    如果这样的话,MS就太弱智了,我觉得这个可能性比较小.各位,写个简单的模式对话框弹出的程序试试,我有点怀疑是不是我机器有问题:)
      

  4.   

    你试试在对话框类里面加几个成员变量,比如CString m_strA;之类的
    然后
    CXXDialog dlg;
    dlg.m_strA = "";//设置内部成员变量
    dlg.DoModal();
    然后再看看呢,谢谢哈
      

  5.   

    hxzmm() ( ) 
       刚试了一下,没有任何增长!!
      
     我另外写了小程序void CTestXDlg::OnLButtonDown(UINT nFlags, CPoint point) 
    {
    CAboutDlg dlg;
    dlg.DoModal();

    CDialog::OnLButtonDown(nFlags, point);
    }点击差不多几十次后,发现虚拟内存增长了...
      

  6.   

    刚试了一下,打开关闭十几次,没有问题呀!我的环境是VC++6.0,MFC做的程序。