在MFC,VC ++,多线程应用程序上挂起/随机崩溃

时间:2015-07-14 19:05:04

标签: visual-c++ random mfc crash

我在MFC应用程序上工作。用户报告应用程序随机崩溃。崩溃发生在运行应用程序的不同阶段,并且不可重现(应用程序可能由于多种原因而崩溃,如UI,不一致的数据,线程问题)。

我如何继续调试这些问题。

1 个答案:

答案 0 :(得分:0)

如果有多个共享数据的线程,则需要提供对数据的同步访问。您必须同时处理与多个线程可访问的变量和对象的并发访问相关的同步问题。否则,你最终会有不可预知的行为,包括应用程序崩溃。因此,请使用CCriticalSection和类似对象保护您的数据。

以下是一个例子:

CSingleLock lock(&m_CritSection);
lock.Lock();

m_Data = data;

lock.Unlock();