首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Klocwork内部的资源泄漏

Klocwork内部的资源泄漏
EN

Stack Overflow用户
提问于 2020-07-03 20:08:39
回答 1查看 291关注 0票数 1

使用以下代码:

代码语言:javascript
复制
bool initQdbgLog()
        {
          deleteOldLogs(); //delete old log files
          initLogFileName(); //create the logfile name
          QFile outFile (logFileName);
          if (outFile.open (QIODevice::WriteOnly | QIODevice::Append)) {  <<<<<<<<<<<<<(1)
              qInstallMsgHandler (QDBGLOG::myMessageHandler);
              return true;  <<<<<<<<<<<<<(2)
          } else {
              return false;
          }
        }

Klocwork发出资源泄漏信号:

代码语言:javascript
复制
Resource acquired to '@temp_3' at line <<<(1) may be lost here <<<(2) 

有人知道为什么吗?

@Sivanesh Waran Hello谢谢你的帮助,但我尝试了不同的代码,总是得到相同的错误,即使使用该代码也是如此:

代码语言:javascript
复制
void initQdbgLog()
{
    deleteOldLogs(); //delete old log files
    initLogFileName(); //create the logfile name
    QFile outFile (logFileName);
    bool result = outFile.open (QIODevice::WriteOnly | QIODevice::Append);
    if (result) {
        qInstallMsgHandler (QDBGLOG::myMessageHandler);
        outFile.close();
    }
}
EN

回答 1

Stack Overflow用户

发布于 2020-07-06 18:28:57

在某些情况下,资源是有限的,如果资源没有被正确释放,那么它在下一次访问尝试时将不可用。

在第6行的to (QIODevice::WriteOnly | QIODevice::Append)获取的资源将在第12行和第14行丢失。但它们未正确释放,因此Klocwork将在此处显示资源泄漏警告。

Klocwork的RH.LEAK检查器发现与先前获得但未释放的资源相关的所有描述符都丢失的实例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62715138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档