奇怪,AfxBeginThread创建UI线程失败,并抛出访问非法内存的异常

songpingbo 2007-07-03 07:37:15
m_pMsgProcThread = AfxBeginThread(RUNTIME_CLASS(CMsgProcThread),
THREAD_PRIORITY_NORMAL,
0,
CREATE_SUSPENDED);

CMsgProcThread是CWinThread的子类,CMsgProcThread类的头文件中有
DECLARE_DYNCREATE(CMsgProcThread)

CMsgProcThread的实现文件中有:
IMPLEMENT_DYNCREATE(CMsgProcThread, CWinThread)



这么会出这样的事呢?查了半天的资料没有找到为什么啊?
...全文
472 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ReverseEngineering 2007-07-13
  • 打赏
  • 举报
回复
MARK 一下
scaton 2007-07-12
  • 打赏
  • 举报
回复
刚创建线程对象就出错,莫非你的CMsgProcThread类构造函数中有非法访问内存语句?
吴双1983 2007-07-06
  • 打赏
  • 举报
回复
HANDLE hThread=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)SearchFile,NULL,0,NULL);
CloseHandle(hThread);

UINT SearchFile(LPVOID lpParam)
{
return 0;
}
Big_Stone 2007-07-06
  • 打赏
  • 举报
回复
干什么这么麻烦,给个EMAIL,给你个比较稳定的线程封装类。
yjgx007 2007-07-04
  • 打赏
  • 举报
回复
Try to use CreateThread
songpingbo 2007-07-03
  • 打赏
  • 举报
回复
//启动超时管理线程
m_pTimerMngrThread = AfxBeginThread(RUNTIME_CLASS(CTimerMngThread));
if (!m_pTimerMngrThread)
{
CA_TRC_ERR(DBGW_LOG_CTRL_APP_FRAME, "启动超时管理器失败!");
return FALSE;
}

m_pTimerMngrThread->m_bAutoDelete = FALSE;

//启动事件调度线程;
m_hEventDispatchThread = (HANDLE)_beginthreadex(NULL,0,DispatchEvent,(void *)(&m_CasDb[1]),0,NULL);
if (!m_hEventDispatchThread)
{
CA_TRC_ERR(DBGW_LOG_CTRL_APP_FRAME, "启动事件调度失败!");
return FALSE;
}

//启动消息处理线程
m_pMsgProcThread = AfxBeginThread(RUNTIME_CLASS(CMsgProcThread),
THREAD_PRIORITY_NORMAL,
0,
CREATE_SUSPENDED);
if (!m_pMsgProcThread)
{
CA_TRC_ERR(DBGW_LOG_CTRL_APP_FRAME, "启动消息处理器失败!");
return FALSE;
}

m_pMsgProcThread->m_bAutoDelete = FALSE;

CMsgProcThread::SetCasDb(m_pMsgProcThread,m_CasDb);
m_pMsgProcThread->ResumeThread();
Y神圣 2007-07-03
  • 打赏
  • 举报
回复
你什么时候Resume的这个线程?
songpingbo 2007-07-03
  • 打赏
  • 举报
回复
单调调度的时候发现在是AfxBeginThread()在调用CreatThread的下面第二个VERIFY出现的内存异常:

// start the thread just for MFC initialization
VERIFY(ResumeThread() != (DWORD)-1);
VERIFY(::WaitForSingleObject(startup.hEvent, INFINITE) == WAIT_OBJECT_0);
::CloseHandle(startup.hEvent);
  • 打赏
  • 举报
回复
你单步调试看看

15,467

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧