int ICOperator::ICStarts( const char *port )
{
if ( NULL == OpenReader) { qDebug() << ""; }
this->devNo = this->OpenReader( 0, sPort );
return this->devNo;
}
正如函数所示,qDebug((实际上并没有执行,但程序将崩溃,如果注释如下:
int ICOperator::ICStarts( const char *port )
{
// if ( NULL == OpenReader) { qDebug() << ""; }
this->devNo = this->OpenReader( 0, sPort );
return this->devNo;
}
qDebug((中发生了什么?可能存在堆栈错误?
你的应用程序崩溃不是因为你在使用调试,而是因为你的逻辑没有避免使用无效指针。
如果OpenReader为NULL,则这是无效的OpenReader( 0, sPort )
int ICOperator::ICStarts( const char *port )
{
if ( NULL == OpenReader)
{
qDebug() << "Invalid OpenReader";
return -1;
}
this->devNo = this->OpenReader( 0, sPort );
return this->devNo;
}