MFC遇到程序异常,编译没有关问题,运行过程随机异常,求高手指导

MFC遇到程序错误,编译没问题,运行过程随机错误,求高手指导!
30:   _AFXCOLL_INLINE BYTE& CByteArray::ElementAt(int nIndex)
31:       { ASSERT(nIndex >= 0 && nIndex < m_nSize);
004E40F7   push        ebp
004E40F8   mov         ebp,esp
004E40FA   push        ecx
004E40FB   push        ebx
004E40FC   push        esi
004E40FD   push        edi
004E40FE   mov         dword ptr [ebp-4],ecx
004E4101   cmp         dword ptr [nIndex],0
004E4105   jl          CByteArray::ElementAt+1Bh (004e4112)
004E4107   mov         eax,dword ptr [this]
004E410A   mov         ecx,dword ptr [nIndex]
004E410D   cmp         ecx,dword ptr [eax+8]
004E4110   jl          CByteArray::ElementAt+2Ch (004e4123)
004E4112   push        1Fh
004E4114   push        offset _szAfxCollInl (005d289c)
004E4119   call        AfxAssertFailedLine (004e6a50)
004E411E   test        eax,eax
004E4120   je          CByteArray::ElementAt+2Ch (004e4123)
004E4122   int         3    //在这里停止,错误
004E4123   xor         edx,edx
  
------解决方案--------------------
本帖最后由 VisualEleven 于 2014-07-03 13:25:23 编辑
你保证你代码中m_bytearray数组下标的这些操作len-1, len-2, len-3, len-4都没问题???
------解决方案--------------------
当从串口读取数据的长度len是1、2、3时会出问题,需要考虑这种情况。