调试过程中,出现下面信息:strcore.cpp(118) : {258} normal block at 0x00B35570, 269 bytes long.
 Data: <            0.6 > FF FF FF FF 03 00 00 00 00 01 00 00 30 2E 36 00 
strcore.cpp(118) : {257} normal block at 0x00B356B0, 269 bytes long.
 Data: <            0.6 > FF FF FF FF 03 00 00 00 00 01 00 00 30 2E 36 00 
strcore.cpp(118) : {256} normal block at 0x00B357F0, 269 bytes long.
 Data: <            21.1> FF FF FF FF 04 00 00 00 00 01 00 00 32 31 2E 31 
plex.cpp(31) : {255} normal block at 0x00B35930, 124 bytes long.
 Data: <        x7D     > 00 00 00 00 00 00 00 00 78 37 44 00 01 00 00 00 
map_pp.cpp(72) : {254} normal block at 0x00B34170, 68 bytes long.
 Data: <            @Y  > 00 00 00 00 00 00 00 00 00 00 00 00 40 59 B3 00 
strcore.cpp(118) : {253} normal block at 0x00B359E0, 269 bytes long.
 Data: <            07/3> FF FF FF FF 11 00 00 00 00 01 00 00 30 37 2F 33 
strcore.cpp(118) : {246} normal block at 0x00B341E0, 26 bytes long.
 Data: <            [YJG> 01 00 00 00 0D 00 00 00 0D 00 00 00 5B 59 4A 47 
strcore.cpp(118) : {237} normal block at 0x00B340A0, 67 bytes long.
 Data: <    6   6   SELE> 01 00 00 00 36 00 00 00 36 00 00 00 53 45 4C 45 
strcore.cpp(118) : {222} normal block at 0x00B342E0, 132 bytes long.
 Data: <    w   w   ODBC> 01 00 00 00 77 00 00 00 77 00 00 00 4F 44 42 43 
dbcore.cpp(2283) : {217} client block at 0x00B34480, subtype 0, 100 bytes long.
a CDatabase object at $00B34480, 100 bytes long
strcore.cpp(118) : {212} normal block at 0x00B34570, 269 bytes long.
 Data: <            0.6 > FF FF FF FF 03 00 00 00 00 01 00 00 30 2E 36 00 
strcore.cpp(118) : {211} normal block at 0x00B346B0, 269 bytes long.
 Data: <            0.6 > FF FF FF FF 03 00 00 00 00 01 00 00 30 2E 36 00 
strcore.cpp(118) : {210} normal block at 0x00B347F0, 269 bytes long.
 Data: <            20.5> FF FF FF FF 04 00 00 00 00 01 00 00 32 30 2E 35 
plex.cpp(31) : {209} normal block at 0x00B34930, 124 bytes long.
 Data: <         8D     > 00 00 00 00 00 00 00 00 98 38 44 00 01 00 00 00 
map_pp.cpp(72) : {208} normal block at 0x00B33170, 68 bytes long.
 Data: <                > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
strcore.cpp(118) : {207} normal block at 0x00B349E0, 269 bytes long.
 Data: <            07/3> FF FF FF FF 11 00 00 00 00 01 00 00 30 37 2F 33 
strcore.cpp(118) : {200} normal block at 0x00B331E0, 26 bytes long.
 Data: <            [YJG> 01 00 00 00 0D 00 00 00 0D 00 00 00 5B 59 4A 47 
strcore.cpp(118) : {191} normal block at 0x00B330A0, 67 bytes long.
 Data: <    6   6   SELE> 01 00 00 00 36 00 00 00 36 00 00 00 53 45 4C 45 
strcore.cpp(118) : {176} normal block at 0x00B332E0, 132 bytes long.
 Data: <    w   w   ODBC> 01 00 00 00 77 00 00 00 77 00 00 00 4F 44 42 43 
dbcore.cpp(2283) : {171} client block at 0x00B33480, subtype 0, 100 bytes long.
a CDatabase object at $00B33480, 100 bytes long
strcore.cpp(118) : {166} normal block at 0x00B33570, 269 bytes long.
 Data: <            3.6 > FF FF FF FF 03 00 00 00 00 01 00 00 33 2E 36 00 
strcore.cpp(118) : {165} normal block at 0x00B336B0, 269 bytes long.
 Data: <            3.4 > FF FF FF FF 03 00 00 00 00 01 00 00 33 2E 34 00 
strcore.cpp(118) : {164} normal block at 0x00B337F0, 269 bytes long.
 Data: <            22.5> FF FF FF FF 04 00 00 00 00 01 00 00 32 32 2E 35 
plex.cpp(31) : {163} normal block at 0x00B33930, 124 bytes long.
 Data: <         9D     > 00 00 00 00 00 00 00 00 B8 39 44 00 01 00 00 00 
map_pp.cpp(72) : {162} normal block at 0x00B32170, 68 bytes long.
 Data: <                > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
strcore.cpp(118) : {161} normal block at 0x00B339E0, 269 bytes long.
 Data: <            07/3> FF FF FF FF 11 00 00 00 00 01 00 00 30 37 2F 33 
strcore.cpp(118) : {154} normal block at 0x00B321E0, 26 bytes long.
 Data: <            [YJG> 01 00 00 00 0D 00 00 00 0D 00 00 00 5B 59 4A 47 
strcore.cpp(118) : {145} normal block at 0x00B320A0, 67 bytes long.
 Data: <    6   6   SELE> 01 00 00 00 36 00 00 00 36 00 00 00 53 45 4C 45 
strcore.cpp(118) : {130} normal block at 0x00B322E0, 132 bytes long.
 Data: <    w   w   ODBC> 01 00 00 00 77 00 00 00 77 00 00 00 4F 44 42 43 
dbcore.cpp(2283) : {125} client block at 0x00B32480, subtype 0, 100 bytes long.
a CDatabase object at $00B32480, 100 bytes long
Object dump complete.
The thread 0x7FC has exited with code 3 (0x3).请高人分析一下会是什么问题啊?

解决方案 »

  1.   

    应该是内存泄漏的问题,你看看是不是在函数里用new动态创建了新的数据结构,却没有delete掉。特别是指针数组,要多加留意!不知道我说的对不对,我以前碰到过这个问题。
      

  2.   

    我仔细调试、检查了N遍,还是有问题,会不会是因为下面的原因:我要在别的对话框中要用主对话框的Menu,因此我在主对话框调用时这样调用:CYouJinGuan1Dialog dlg(this); dlg.DoModal();然后别的对话框中
    CYouJinGuan1Dialog::CYouJinGuan1Dialog(CWnd* pParent /*=NULL*/)
    : CDialog(CYouJinGuan1Dialog::IDD, pParent)
    {
    m_pMainSurface = (CMainSurface *) pParent;
    //{{AFX_DATA_INIT(CYouJinGuan1Dialog)
    m_strNO1CPBH = _T("");
    m_strNO1CPMC = _T("");
    m_strNO1GGXH = _T("");
    m_strNO1JYJZ = _T("");
    m_strNO1JYBH = _T("1");
    m_fNO1HSMJ = 10.0f;
    m_fNO1GZYCSDZ = 100.0f;
    m_fNO1JYTGNJ = 3.0f;
    m_fNO1JYWD = 200.0f;
    m_fNO1ZFYLSDZ = 100.0f;
    m_strNO1SCRQ = _T("2002-4-10");
    m_strNO1JYRQ = _T("2002-4-10");
    m_fNO1JYWD_Max = 0.0f;
    m_fNO1JYWD_Min = 0.0f;
    //}}AFX_DATA_INIT
    m_backgroundguan1.CreateSolidBrush(RGB(50,200,200));
    }void CYouJinGuan1Dialog::OnGuan1InputOK() 
    {
    /*确定输入后菜单项被禁止*/
    int inputcheck=AfxMessageBox("   一旦输入,无法再改!\n\n如果您确认您的输入确实正确\n     请按“确定”\n如果您认为您应返回再次检查\n     请按“取消”",
                              MB_OKCANCEL|MB_SYSTEMMODAL,0); 
    if(inputcheck==IDOK)
    {

    CMenu *MenuGuan1 = m_pMainSurface->GetMenu();//get the main menu
    CMenu *MenuGuan1Sub = MenuGuan1->GetSubMenu(0);//get the 参数输入 menu
    MenuGuan1Sub->EnableMenuItem(ID_YOUJINGUAN1, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);
    CDialog::OnOK();
    这样有可能会有问题吗?如果真是这个问题,我想问问在别的对话框中,怎样调用主对话框的Menu(我的程序是基于对话框的)??急!!!!
      

  3.   

    双击MemoryLeak提示信息就会找到分配内存但是没有被释放的地方,上面的代码没有引起内存泄漏的地方,应该是别的地方,而且是NEW造成的,在别的对话框中给主对话框发消息就能调用主对话框的消息相应函数。
    使用molloc分配的内存如果没有释放VC是检查不出来的
      

  4.   

    strcore.cpp的内存泄漏一般都是在处理字符串时候出现的,你查看下CString的变量。