前天遇到个奇怪的bug
从外场景回来,再调出玩家排行,客户端就异常了
调试发现,是之前注册的一个单件类排行榜的实例地址被外场景注册了
当排行榜退出时,排行榜自身是析构了没问题,但是排行榜的实例地址并没有在外场景中删除,当排行榜再次构造时候,新的实例再次被注册到外场景中,当再次调用时,指向的是上次没有删除的野指针,这个时候在排行榜类中单步函数是没问题的,但是只要一操作类成员变量,马上会异常
所以一定要小心这种错误
下次遇到 此类异常,首先就应该想到是指针问题
然后检查,所有对象是否正确析构,包括对象自己是否在其他类中被注册,被包含的问题,自身析构,一定记得打断与其他类的联系,否则在其他类对象中调用到此不存在的对象,肯定异常