MFC严重错误!多线程程序运行着就崩溃了,MFC高手帮忙分析下啊
这是我的全部代码:
UINT Thread(LPVOID pParam)
{
CEdit *pEdit=(CEdit*)pParam;
while(start)
{
pEdit->GetWindowText(str1);
}
return 0;
}
void CMultiThreadDlg::OnBnClickedCheck1()
{
CWinThread *pThread;
// TODO: 在此添加控件通知处理程序代码
if(c_check.GetCheck())
{
start=true;
pThread=AfxBeginThread(Thread,&c_edit2);
t_hThread=pThread->m_hThread;
}
else
{
start=false;
}
}
void CMultiThreadDlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CString s;
if(start)
{
s.Format(_T("%s"),str1);
c_edit.SetWindowTextW(s);
}
CDialog::OnTimer(nIDEvent);
}
void CMultiThreadDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
::TerminateThread(t_hThread,0);
}
出错的地方:
__declspec(noinline)
void __cdecl _CRT_DEBUGGER_HOOK(int _Reserved)
{
/* assign 0 to _debugger_hook_dummy so that the function is not folded in retail */
(_Reserved);
_debugger_hook_dummy = 0;//就在这一行出错了
}