一个基于对话框的网络客户端程序,接收仪器发来的数据,在OnReceive()函数中,一旦有数据来先把数据存在一个BYTE数组中,然后开启一个工作线程处理数据,定义了一个全局变量vector<POINT3D> m_pts,处理好的数据往里面push。debug模式程序运行约5、6秒钟出现中断提示,访问冲突(此时,m_pts的size已经有6万多)。但是release时没用出现问题,不知原因为何?已经困扰多时,还望大神速来指点!谢谢~



------解决思路----------------------
多线程操作公有变量,先加锁
------解决思路----------------------
vector用的是栈空间,内存空间连续,所以访问速度比较快。
你要是数据量过大,可以用list
------解决思路----------------------
很可能是push_back()之前内存已经出问题了,所以表现在push_back()时出错,并非是push_back()本身的问题
------解决思路----------------------
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止。