【问题标题】:Create a call graph for a specific function using Doxygen使用 Doxygen 为特定函数创建调用图
【发布时间】:2020-08-19 09:50:23
【问题描述】:

当我将 EXTRACT_ALL、EXTRACT_PRIVATE 和 EXTRACT_STATIC 都设置为 YES 时,我可以为项目中的几乎所有实体创建调用图。但是如何为特定函数创建调用图呢?

如果可能,那么如果我启用 INTERACTIVE_SVG,是否可以访问我的调用图中的函数,还是我必须为每个调用的函数创建一个调用图?

【问题讨论】:

    标签: graph doxygen


    【解决方案1】:

    这有点取决于您的 doxygen 版本。 但除了配置设置(总是需要HAVE_DOT=YES):

    • CALL_GRAPH
    • CALLER_GRAPH

    有命令(见https://www.doxygen.nl/manual/commands.html):

    • \callgraph
    • \callergraph
    • \hidecallgraph
    • hidecallergraph

    使用这些命令应该可以创建所需的图表。

    根据要求:

    doxygen 配置文件

    HAVE_DOT=YES
    

    源代码文件

    /// \file
    
    /// \brief the first fie
    /// \details the details of the first fie
    /// \callgraph
    void fie1(void)
    {
      fie2();
    };
    
    /// \brief the second fie
    /// \details the details of the second fie
    void fie2(void);
    

    【讨论】:

    • 我已将 \callgraph 添加到函数上方的注释中,并禁用提取所有其他函数,但由于某种原因,它被忽略了(没有为该函数生成图表)!请您编辑您的答案以显示一个示例吗?
    • 您使用的是哪个版本的 doxygen?你在 doxygen 配置文件中做了哪些设置?你的例子怎么样?
    • 版本非常好,是最新的。你能运行我的例子,但有一些改变,即添加QUIET=YES到Doxyfile,删除html和latex目录并运行doxygen -d extcmd Doxyfile。请报告您在终端窗口中看到的输出。
    • "我不得不禁用 EXTRACT_ALL" 这很奇怪,因为在我的示例中只提到了HAVE_DOT(和QUIET=NO),所有其他设置都是默认设置。所以请创建 Doxyfile,以便只显示带有 QUIETHAVE_DOT 的行。
    • 如果没有一个小例子,很难说出你的情况出了什么问题,所以请构建一个小例子来显示问题,包括与标准设置不同的 doxygen 设置(使用doxygen -x Doxyfile获得最小的差异)。
    猜你喜欢
    • 2016-03-07
    • 2012-12-15
    • 1970-01-01
    • 2019-02-28
    • 2012-02-11
    • 2021-01-20
    • 2020-07-28
    • 2016-10-09
    • 2021-10-16
    相关资源
    最近更新 更多