首先看下问题提示:
HEAP[SimEng.exe]: HEAP: Free Heap block 000002CA51FC08A0 modified at 000002CA51FC0950 after it was freed
Ok,碰到这种xxxx地址的报错提示就慌得一批。
解答
经过一种暴力式解谜,找到以下的原因(解谜过程不建议也不见得能复用,基本上就是看堆栈,“偶然”看到有熟悉的名字就去找到用到的地方,然后一点一点注释,然后找不同,极其低效QAQ):
原因:
关闭窗口,开始执行析构:
1.从mainwindow开始析构:
2.析构它的孩子(m_osgwidget):
3.析构其他孩子(MAP_OSG_LayerControlWidget):