我的应用程序出现访问冲突。
调用栈:
0da0ccfc 77c46fa3 ntdll!KiUserExceptionDispatcher+0xe
0da0d004 4dfeee3a msvcrt!memcpy+0x33
0da0d45c 4dfdbc4b MyLibrary!MyClass::MyFunc+0x8d [MyFile.cpp @ 574]
[MyFile.cpp @ 574 memcpy( m_pMyPointer, m_pSrcPointer, m_nDataSize);
在这里我确定以下事情.. m_pMyPointer 是有效的,任何其他线程都不会读取或写入此内存。m_pMyPointer 的大小大于 m_nDataSize。m_pSrcPointer 可以从其他线程(读取或写入)访问,m_pSrcPointer 的大小小于 m_nDataSize 的可能性很小。
我的疑问是,如果任何其他线程尝试读取/写入 m_pSrcPointer,是否有任何可能从 memcpy(m_pMyPointer,m_pSrcPointer,m_nDataSize)获取访问冲突。由于 memcpy() 读取 m_pSrcPointer,而不是写入它..