CSDN上的大哥们,诚心向你们求教一个问题。我用VC++ 6.0 MFC开发了一套程序 会自动长时间执行,但是每次执行的时间长了之后 就会报错,由于代码写得挺乱也很长,不好发,我大概描述一下。由于错误是需要等待执行很长时间才会出来,我不知道该怎么才能得到出错的原因。求教我用到了以下几个类:
CInternetSession(用完释放了)
ADO连接SQL SERVER (RS对象建的比较多。。但用完都释放了)
CStdioFile (用完释放了)
多线程(实际只用了一个线程)我的程序是用FOR循环几万次,使程序反复执行的。我不知道是什么原因导致 程序在运行几十分钟 到几个小时 就会报错,操作系统: windows 2003错误提示: This application has requested the Runtime to terminate it in an unusual way
CInternetSession(用完释放了)
ADO连接SQL SERVER (RS对象建的比较多。。但用完都释放了)
CStdioFile (用完释放了)
多线程(实际只用了一个线程)我的程序是用FOR循环几万次,使程序反复执行的。我不知道是什么原因导致 程序在运行几十分钟 到几个小时 就会报错,操作系统: windows 2003错误提示: This application has requested the Runtime to terminate it in an unusual way
请问具体如何操作?没用过 dump()
{
//HANDLE hand=CreateThread(NULL,0,ThreadProc,NULL,0,NULL);
HANDLE hand=CreateThread(NULL,0,ThreadProc,this,0,NULL);}DWORD WINAPI ThreadProc(LPVOID lpParameter)
{// OnSaveKeywordButton() ;
CExam8Dlg *pDlg = (CExam8Dlg*)lpParameter;
pDlg->OnSaveKeywordButton() ; return 0;
}有问题吗?
void CExam8Dlg::OnStartthreadButton()
{
AfxBeginThread(ThreadProc, (LPVOID)GetSafeHwnd());
}UINT _cdecl ThreadProc(LPVOID lParam)
{
HWND hWnd = (HWND)lParam;
ASSERT(hWnd);
::SendMessage(hWnd, UM_MESSAGE, 0, 0);
return 0;
}afx_msg LRESULT OnMessage(WPARAM wParam, LPARAM lParam);
#define UM_MESSAGE WM_USER+11BEGIN_MESSAGE_MAP(CExam8Dlg, CDialog)
...
ON_MESSAGE(UM_MESSAGE, &CExam8Dlg::OnMessage)
END_MESSAGE_MAP()LRESULT CExam8Dlg::OnMesage(WPARAM wParam, LPARAM lParam)
{
OnSaveKeywordButton();
return 0;
}
http://blog.vckbase.com/arong/archive/2009/05/17/15578.html