0xC0000005有关问题

0xC0000005问题
我的一个工程里面控件功能第一次执行正常,再次运行就会报0xC0000005冲突。找不出原因,出错位置代码没问题,找不到出错原因,还望各位大侠指点明路调试.
调用堆栈出错出显示如下,看不大懂,还望各位能帮忙分析下,谢谢!

  00000638()
> EAC02.exe!gen_eckey(ec_key_st * eckey=0x01f3ccd8, int cur_num=9) 行136 + 0x5 字节 C++
  EAC02.exe!CCvca::OnBnClickedGenerate() 行364 + 0x13 字节 C++
  mfc80d.dll!_AfxDispatchCmdMsg(CCmdTarget * pTarget=0x0012eb34, unsigned int nID=1022, int nCode=0, void (void)* pfn=0x00416672, void * pExtra=0x00000000, unsigned int nSig=56, AFX_CMDHANDLERINFO * pHandlerInfo=0x00000000) 行82 C++
  mfc80d.dll!CCmdTarget::OnCmdMsg(unsigned int nID=1022, int nCode=0, void * pExtra=0x00000000, AFX_CMDHANDLERINFO * pHandlerInfo=0x00000000) 行381 + 0x27 字节 C++
  mfc80d.dll!CDialog::OnCmdMsg(unsigned int nID=1022, int nCode=0, void * pExtra=0x00000000, AFX_CMDHANDLERINFO * pHandlerInfo=0x00000000) 行85 + 0x18 字节 C++
  mfc80d.dll!CWnd::OnCommand(unsigned int wParam=1022, long lParam=398886) 行2300 C++
  mfc80d.dll!CWnd::OnWndMsg(unsigned int message=273, unsigned int wParam=1022, long lParam=398886, long * pResult=0x0012e42c) 行1755 + 0x1e 字节 C++
  mfc80d.dll!CWnd::WindowProc(unsigned int message=273, unsigned int wParam=1022, long lParam=398886) 行1741 + 0x20 字节 C++
  mfc80d.dll!AfxCallWndProc(CWnd * pWnd=0x0012eb34, HWND__ * hWnd=0x00131572, unsigned int nMsg=273, unsigned int wParam=1022, long lParam=398886) 行240 + 0x1c 字节 C++
  mfc80d.dll!AfxWndProc(HWND__ * hWnd=0x00131572, unsigned int nMsg=273, unsigned int wParam=1022, long lParam=398886) 行389 C++
  mfc80d.dll!AfxWndProcBase(HWND__ * hWnd=0x00131572, unsigned int nMsg=273, unsigned int wParam=1022, long lParam=398886) 行407 + 0x15 字节 C++
  user32.dll!77d18734() 
  [下面的框架可能不正确和/或缺失,没有为 user32.dll 加载符号]
  user32.dll!77d18816() 
  user32.dll!77d28ea0() 
  user32.dll!77d2927b() 
  user32.dll!77d292e3() 
  user32.dll!77d4ff7d() 
  user32.dll!77d465d2() 
  user32.dll!77d25e94() 
  mfc80d.dll!AfxGetThread() 行137 + 0x5 字节 C++
  mfc80d.dll!CWinThread::ProcessMessageFilter(int code=0, tagMSG * lpMsg=0x000d0028) 行850 + 0x5 字节 C++
  00000202()
  user32.dll!77d3b036() 
  user32.dll!77d18734() 
  user32.dll!77d3b036() 
  user32.dll!77d3b036() 
  user32.dll!77d18816() 
  user32.dll!77d3b036() 
  user32.dll!77d2b326() 
  user32.dll!77d189cd() 
  user32.dll!77d3b036() 
  user32.dll!77d31b7c() 
  user32.dll!77d18a10() 
  user32.dll!77d274ff() 
  user32.dll!77d3c6d3() 
  mfc80d.dll!CWnd::IsDialogMessageA(tagMSG * lpMsg=0x00154470) 行198 C++
  mfc80d.dll!CWnd::PreTranslateInput(tagMSG * lpMsg=0x00154470) 行4268 C++
  mfc80d.dll!CDialog::PreTranslateMessage(tagMSG * pMsg=0x00154470) 行80 C++
  mfc80d.dll!CWnd::WalkPreTranslateTree(HWND__ * hWndStop=0x00091686, tagMSG * pMsg=0x00154470) 行2882 + 0x14 字节 C++
  mfc80d.dll!AfxInternalPreTranslateMessage(tagMSG * pMsg=0x00154470) 行233 + 0x12 字节 C++
  mfc80d.dll!CWinThread::PreTranslateMessage(tagMSG * pMsg=0x00154470) 行773 + 0x9 字节 C++
  mfc80d.dll!AfxPreTranslateMessage(tagMSG * pMsg=0x00154470) 行252 + 0x11 字节 C++
  mfc80d.dll!AfxInternalPumpMessage() 行178 + 0x18 字节 C++
  mfc80d.dll!CWinThread::PumpMessage() 行896 C++
  mfc80d.dll!AfxPumpMessage() 行190 + 0xd 字节 C++
  mfc80d.dll!CWnd::RunModalLoop(unsigned long dwFlags=4) 行4322 + 0x5 字节 C++
  mfc80d.dll!CDialog::DoModal() 行544 + 0xc 字节 C++
  EAC02.exe!CEAC02App::InitInstance() 行63 + 0xb 字节 C++
  mfc80d.dll!AfxWinMain(HINSTANCE__ * hInstance=0x00400000, HINSTANCE__ * hPrevInstance=0x00000000, char * lpCmdLine=0x00151f31, int nCmdShow=1) 行37 + 0xd 字节 C++