关于析构的一个漏掉点---单件类

来源:互联网 发布:网络电视看不了了 编辑:程序博客网 时间:2024/05/06 16:56

前天遇到个奇怪的bug

从外场景回来,再调出玩家排行,客户端就异常了

 

调试发现,是之前注册的一个单件类排行榜的实例地址被外场景注册了

当排行榜退出时,排行榜自身是析构了没问题,但是排行榜的实例地址并没有在外场景中删除,当排行榜再次构造时候,新的实例再次被注册到外场景中,当再次调用时,指向的是上次没有删除的野指针,这个时候在排行榜类中单步函数是没问题的,但是只要一操作类成员变量,马上会异常

 

所以一定要小心这种错误

 

下次遇到 此类异常,首先就应该想到是指针问题

 

然后检查,所有对象是否正确析构,包括对象自己是否在其他类中被注册,被包含的问题,自身析构,一定记得打断与其他类的联系,否则在其他类对象中调用到此不存在的对象,肯定异常

 

原创粉丝点击