看了不象是程序本身的问题,你确定是内存问题,还是ASSERT?
程序DOWN后看一下调用堆栈,看一下到底问题出在哪儿?另外有一种可能,就是你的对话框里的输入框的ID或对应变量改过。仔细查查

解决方案 »

  1.   

    i<=m_inputdata.GetLength()
    去掉等号
    inputarray[i]>inputarray[i+1]
    当i=99时,越界

            
      

  2.   

    我把inputarray定义为全局数组就行了,同时楼上说的
    inputarray[i]>inputarray[i+1]
    越界也有道理,我觉得应该改成for(i=0;i<99;i++)
      

  3.   

    它定位在了这一行,我不懂:
    77E62EFB   xadd        dword ptr [ecx],eax
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    77E62EFE   dec         eax
    77E62EFF   ret         4
    77E62F02   push        ebp
    77E62F03   mov         ebp,esp
    77E62F05   push        0FFh
    77E62F07   push        77E62FF0h
    77E62F0C   push        77E7DCBEh
    77E62F11   mov         eax,fs:[00000000]
      

  4.   

    “0x77e62efb"指令引用的”0xccccccc0"内存。该内存不能为“written"。
    上边是错误提示。
      

  5.   

    inputarray[i]>inputarray[i+1]
    越界也有道理,我觉得应该改成for(i=0;i<99;i++) 改成这样就可以了,谢谢大家的帮助。
    另:以这个贴子讲讲程序的调试方法以及想上边出现的汇编代码该如何调试
    好吗?我可以继续加分。