0x01A686F0 处有未经处理的异常(在 五金上色软件.exe 中): 0xC000041D: 用户回调期间遇到未经处理的异常。。
CPntList* plist = &theApp.LPointlist;
_point_node node;
plist->AddTail(node);
很普通的调用Clist链表,却频繁出错
在ASSERT_VALID那里过不去,出现断言
这个地方已经很久没改过什么了。进行问题排查:
试了其他的Clist却都是正常的。就是这个theApp.LPointlist老是不行。
最后实在不行了,在定义的地方把theApp.LPointlist换了个位置
本来是这样的
CPntList LPointlist;//左平台-创建双链表-存放点
CPntList pointlist_ins;//用于存放插入的新链表
CPntList pointlist_temp;//用于暂时存放临时的
换成
CPntList pointlist_ins;//用于存放插入的新链表
CPntList LPointlist;//左平台-创建双链表-存放点
CPntList pointlist_temp;//用于暂时存放临时的
CPntList AfterList;//存放偏移点的链表
却发现可以了。不会出现断言了。
跟位置有关,那就看看上下的什么变量,往上一看果然有问题。
CDialog* pDialog[7];
这个变量是最近有操作过的。加了一个窗口,但是数组定义的数量却没有改大。因此出现数组越界。
要注意的是,在Release版本下,是不会报这个错误的。