我做了一个LLK.exe的程序,在调试时,总是提示:LLk.exe 遇到问题需要关闭。我们对此引起的不便表示抱歉。不知是怎么回事,找了半天也不知道是什么原因,特来请教,谢谢了!!!
错误签名是:AppName: llk.exe  AppVer: 1.0.0.1  ModName: unknown
ModVer: 0.0.0.0  Offset: 00000000(自己看不懂)
错误报告:
<?xml version="1.0" encoding="UTF-16"?>
<DATABASE>
<EXE NAME="LLK.exe" FILTER="GRABMI_FILTER_PRIVACY">
    <MATCHING_FILE NAME="LLK.exe" SIZE="2916352" CHECKSUM="0xB4BDA51E" BIN_FILE_VERSION="1.0.0.1" BIN_PRODUCT_VERSION="1.0.0.1" PRODUCT_VERSION="1, 0, 0, 1" FILE_DESCRIPTION="LLK Microsoft 基础类应用程序" COMPANY_NAME="" PRODUCT_NAME="LLK 应用程序" FILE_VERSION="1, 0, 0, 1" ORIGINAL_FILENAME="LLK.EXE" INTERNAL_NAME="LLK" LEGAL_COPYRIGHT="版权所有 (C) 2007" VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x4" VERFILETYPE="0x1" MODULE_TYPE="WIN32" PE_CHECKSUM="0x0" LINKER_VERSION="0x0" UPTO_BIN_FILE_VERSION="1.0.0.1" UPTO_BIN_PRODUCT_VERSION="1.0.0.1" LINK_DATE="09/29/2007 15:22:54" UPTO_LINK_DATE="09/29/2007 15:22:54" VER_LANGUAGE="中文(中国) [0x804]" />
</EXE>
<EXE NAME="kernel32.dll" FILTER="GRABMI_FILTER_THISFILEONLY">
    <MATCHING_FILE NAME="kernel32.dll" SIZE="1145344" CHECKSUM="0x1F97FE59" BIN_FILE_VERSION="5.1.2600.3119" BIN_PRODUCT_VERSION="5.1.2600.3119" PRODUCT_VERSION="5.1.2600.3119" FILE_DESCRIPTION="Windows NT BASE API Client DLL" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Microsoft(R) Windows(R) Operating System" FILE_VERSION="5.1.2600.3119 (xpsp_sp2_gdr.070416-1301)" ORIGINAL_FILENAME="kernel32" INTERNAL_NAME="kernel32" LEGAL_COPYRIGHT="(C) Microsoft Corporation. All rights reserved." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x120217" LINKER_VERSION="0x50001" UPTO_BIN_FILE_VERSION="5.1.2600.3119" UPTO_BIN_PRODUCT_VERSION="5.1.2600.3119" LINK_DATE="04/16/2007 15:54:26" UPTO_LINK_DATE="04/16/2007 15:54:26" VER_LANGUAGE="中文(中国) [0x804]" />
</EXE>
</DATABASE>
同样看不懂!!!

解决方案 »

  1.   

    debug版没有出问题,怎么察看内存呀,我不会,估计我也看不懂,谁能告诉怎么就会出现这样的错误,是因为内存使用错误吗?能举些例子吗?谢了!!!
      

  2.   

    1。BYTE * pBuf = new BYTE[10];
    memset(pBuf, 0xCC, sizeof(BYET)*10000);
    这就是一个越界,但不一定是LZ哪种错误。
    2。BYTE Buf[100];
    memset(Buf, 0xCC, sizeof(BYTE)*100);
    BUF[100] = 0;//这就是一个数组下标越界。
    3。CDialog * pDlg = new CDialog();
    delete pDlg;
    if (NULL != pDlg)
    {
     dosomething;
    }
    //这个就是指针引用错误,因为pDlg是一个野指针,使用NULL != pDlg判断无效