cppcheck生成错误的xml结构

时间:2020-07-01 13:59:35

标签: c++ c static-code-analysis cppcheck

我正在尝试从cppcheck的输出中解析XML数据。但是XML结构似乎是错误的。

cppcheck src --enable=warning,style,unusedFunction --xml --inconclusive --std=posix --std=c++11 2> error_s.xml

cppcheck XML输出:

<?xml version="1.0" encoding="UTF-8"?>
<results version="2">
    <cppcheck version="1.82"/>
    <errors>
        <error id="funcArgNamesDifferent" severity="style" msg="Blah Blah bLah." verbose="Blah Blah Verbose" cwe="628" inconclusive="true">
            <location file="src/DataLayer/ABC.cpp" line="329"/>
            <location file0="src/DataLayer/ABC.cpp" file="src/DataLayer/ABC.h" line="64"/>
            <location file0="src/DataLayer/ABC.cpp" file="src/DataLayer/ABC.h" line="64"/>
            <location file0="src/DataLayer/ABC.cpp" file="src/DataLayer/ABC.h" line="64"/>
        </error>
</errors>
</results>

location节点是否应该位于locations之类的数组中?

        <locations>
            <location file="src/DataLayer/ABC.cpp" line="329"/>
            <location file0="src/DataLayer/ABC.cpp" file="src/DataLayer/ABC.h" line="64"/>
        </locations>

1 个答案:

答案 0 :(得分:0)

不幸的是,如果不写太多if语句就无法访问它。

if(isset($location)){

}

Conversation with CppChecker Developer..希望它们在发布v3时会得到解决

目前,唯一的访问方法是使用太多的if语句。

如果没有,那么还有htmlreport库将生成html页面。