由于包含路径,cppcheck 未检测到资源泄漏

Posted

技术标签:

【中文标题】由于包含路径,cppcheck 未检测到资源泄漏【英文标题】:cppcheck does not detect resource leak due to include paths 【发布时间】:2012-12-04 10:02:18 【问题描述】:

有人可以帮忙吗? 当我通过简单地分析我的源代码时 “cppcheck 文件”它输出的分析结果类似于

Checking ../bst_hal/daemon_rls/src/event_handler.c...
Checking ../bst_hal/daemon_rls/src/event_handler.c: CFG_ARCH_ARM...
Checking ../bst_hal/daemon_rls/src/event_handler.c: CFG_ARCH_ARM;CFG_HANDLE_FAULT_SIG...
Checking ../bst_hal/daemon_rls/src/event_handler.c: CFG_CHECK_DISPLAY_STATE...
**[../bst_hal/daemon_rls/src/event_handler.c:236]: (error) Resource leak: fd_w**
Checking ../bst_hal/daemon_rls/src/event_handler.c: CFG_CHECK_DISPLAY_STATE;CFG_SENSORD_SIMU...
Checking ../bst_hal/daemon_rls/src/event_handler.c: CFG_DISCARD_OLD_CMD...
Checking ../bst_hal/daemon_rls/src/event_handler.c: CFG_HANDLE_FAULT_SIG...
Checking ../bst_hal/daemon_rls/src/event_handler.c: CFG_SENSORD_SIMU...

但是在我通过 -I like 指定了一些路径之后:

cppcheck --force -I<patha> -I<pathb> ... file.c

我的泄漏错误消失了:

Checking ../bst_hal/daemon_rls/src/event_handler.c...
Checking ../bst_hal/daemon_rls/src/event_handler.c: ARRAY_SIZE...
Checking ../bst_hal/daemon_rls/src/event_handler.c: CFG_ARCH_ARM...
Checking ../bst_hal/daemon_rls/src/event_handler.c: CFG_CHECK_DISPLAY_STATE...
Checking ../bst_hal/daemon_rls/src/event_handler.c: CFG_CHECK_DISPLAY_STATE;CFG_SENSORD_SIMU...
Checking ../bst_hal/daemon_rls/src/event_handler.c: CFG_DATA_INPUT_SRC_FILE...
Checking ../bst_hal/daemon_rls/src/event_handler.c: CFG_LOG_TO_LOGCAT...
Checking ../bst_hal/daemon_rls/src/event_handler.c: CFG_LOG_WITH_TIME...
Checking ../bst_hal/daemon_rls/src/event_handler.c: CFG_SENSORD_SIMU...
Checking ../bst_hal/daemon_rls/src/event_handler.c: CFG_SENSOR_G_EMU...
Checking ../bst_hal/daemon_rls/src/event_handler.c: CFG_TARGET_OS_android...
Checking ../bst_hal/daemon_rls/src/event_handler.c: CFG_TARGET_OS_LINUX...
Checking ../bst_hal/daemon_rls/src/event_handler.c: CONTAINER_OF...
Checking ../bst_hal/daemon_rls/src/event_handler.c: OFFSET_OF...

【问题讨论】:

【参考方案1】:

我是一名 Cppcheck 开发人员。这看起来很有趣。源代码是否开源?

【讨论】:

嗨丹尼尔,很抱歉回复晚了,我最近才找到你的回复。我现在找不到代码,时间太长了,希望你已经找到并解决了这个问题,祝你好运!

以上是关于由于包含路径,cppcheck 未检测到资源泄漏的主要内容,如果未能解决你的问题,请参考以下文章

CppCheck 未检测到内存泄漏

cppcheck 检测到资源泄漏 - 误报?

将堆指针传递给函数时,cppcheck 无法检测到泄漏?

c++代码检测工具

如何告诉 cppcheck 忽略某些错误?

什么是内存泄漏?