可以检查NULL解除引用的调试软件?

时间:2012-06-26 01:41:08

标签: c++ debugging

是否有足够智能的软件可以确定你从某个地方得到了一个指针,并且返回的指针可能是NULL而你没有在块中的位置:

ptr = getSomeDataThatCouldReturnNULLAt(-1);

...

if(ptr)
{
   //code
}

if(!ptr)
{
   return;
}

是否有软件可以让您知道所有可能无法检查的地方?

由于

检查运行时问题。

1 个答案:

答案 0 :(得分:-1)

更好的编码方式如下:

s32 getSomeDataThatCouldReturnNULLAt( s32 intParam, void **inputPointer);

然后在你想要调用此函数的函数中:

s32 returnValue = 0 ;
void * ptr = NULL ; 

if((returnValue = getSomeDataThatCouldReturnNULLAt( -1, &ptr) ) != ERROR ||
  ptr ==NULL )
   return returnValue;  

returnValue可以表明您getSomeDataThatCouldReturnNULLAt

中发生的错误