2010年11月16日星期二

this指针为NULL的故障排除

问题来源,类成员函数相互调用时,突然在某成员函数入口处发现this指针为NULL,环境是Linux下的G++。

首先想到的是函数声明杂乱导致的堆栈错误,由于代码量大,一连查了好多天都没结果。

在Google上偶然发现了一个线索,可能是对象没有创建。
虽然看起来不像是这个原因,因为本来在类成员函数中运行的好好的,是执行到某处突然出现的问题。但在简单排查后确实发现这个类对象创建失败了,而且程序没有检查这个失败直接把对象指针当作有效值传进了函数。

总结一下,要是发现this指针为NULL,一定要检查一下这个对象是否已经创建。

没有评论: