多线程重启启动遇到“HEAP: Free Heap block xxxxxxxx modified at xxxxxxxx after it was freed”的问题
创建了一个继承自CWinThread的线程指针对象,第一次new之后,通过线程关闭机制关闭了线程,相关线程对象自动销毁,然后再一次new这个线程的时候,报了一个“HEAP: Free Heap block xxxxxxxx modified at xxxxxxxx after it was freed”的错误,百思不得其解,错误的原因是释放的堆栈又被更改操作了,这是一个非法的地址操作。后来想到该线程使用的堆栈可能已经越过普通分配堆栈的界限1M,于是再CreateThread里面索性将堆栈分配为10M=10*1024*1024,如此创建之后,再次new、free、n......