运行程序无语法错误,但点击菜单命令后出错,提示“Dest MFC Application遇到问题需要关闭.......”,点击“调试”按钮,发出警告:““0x00405d4b”指令引用的“0xcccccccc”内存。该内存不能为“read”。要终止程序,请单击“确定”。”。单击“确定”后,在output的Debug栏出现下列提示语句:
Loaded symbols for 'E:\Expert Programme\Apple\Debug\Apple.exe'
Loaded 'C:\WINDOWS\system32\ntdll.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\kernel32.dll', no matching symbolic information found.
Loaded symbols for 'C:\WINDOWS\system32\MFC42D.DLL'
Loaded symbols for 'C:\WINDOWS\system32\MSVCRTD.DLL'
Loaded 'C:\WINDOWS\system32\gdi32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\user32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\advapi32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\rpcrt4.dll', no matching symbolic information found.
Loaded symbols for 'C:\WINDOWS\system32\MFCO42D.DLL'
Loaded 'C:\WINDOWS\system32\imm32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\lpk.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\usp10.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\mfc42loc.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\ole32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\uxtheme.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\msvcrt.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\MSCTF.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\Downloaded Program Files\BDPlugin.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\oleaut32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\version.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\clbcatq.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\comres.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\MSCTFIME.IME', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\comctl32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\shell32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\shlwapi.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.10.0_x-ww_f7fb5805\comctl32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\MSIMTF.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\riched32.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\riched20.dll', no matching symbolic information found.
Loaded 'C:\WINDOWS\system32\apphelp.dll', no matching symbolic information found.
The thread 0x3E8 has exited with code 0 (0x0).
The thread 0x51C has exited with code -1073741819 (0xC0000005).
The thread 0x76C has exited with code -1073741819 (0xC0000005).
The thread 0x4EC has exited with code -1073741819 (0xC0000005).
The program 'E:\Expert Programme\Apple\Debug\Apple.exe' has exited with code -1073741819 (0xC0000005).

解决方案 »

  1.   

    0x00405d4b这个指针指的地止已经作废,比如被delete掉了,或者干脆被别的内存操作给冲掉了。
    看起来不是dll的问题。根dll没关系。你调试源代码,这么来:
    1.看看到哪一步出的错误,找出这个指针。比如mypointer
    2.既然mypointer指的地方被冲掉了,那么要找出什么时候被谁冲掉的或者delete掉的
    3.使用2分法。在mypointer刚被分配开始,到第1步那个位置之间,加上对mypointer
      的访问,(比如,mypointer指的是字符串,那么打出来看看指的是字符串对不对)
      总能找到在哪儿被谁干掉的.