RISC-V IDE MRS2使用笔记(三):编译后函数调用分析
今天分享一个MRS2的实用功能:编译后函数调用分析。该功能不同于常见的大纲(Outline)功能,支持从多个维度显示工程内的函数调用关系:
- 工程维度:将工程内的所有源文件中的函数调用关系串联起来,形成完整的调用图。
- 文件维度:显示选中文件与其他文件中函数的调用关系
- 函数维度:以箭头的方式展示函数间的互相调用关系,悬浮显示函数具体信息
此功能适合用于在项目初期快速熟悉工程的大致结构,也适合于开发过程中分析工程整体代码关系,提高代码质量。
【使用方法】
在点击菜单栏上的Project按钮,勾选下方的"Show Funcion Call Analysis"(显示函数调用分析)选项

之后执行重新编译工程,会在代码编辑区右方自动显示分析结果页面。

【基本功能】
- Files下拉框:选择文件,分析页面只显示目标文件中的函数调用关系,如果选择"All"选项,分析页面会显示整个工程内的函数调用关系
- Functions下拉框:选择文件中的函数,分析页面会聚焦于选中的目标函数
- Show Interrupt Functions复选框:分析页面中是否显示工程中的中断函数

同时该页面也自动显示函数统计信息如下:
- Total number of non-interrupt functions:当前分析页面中的非中断函数数量
- Total number of interrupt functions:当前工程中的中断函数数量
- Total number of inline functions:当前工程中的内联函数数量

此外点击Total number of inline functions链接可以显示所有的内联函数

分析页面支持拖动放大和缩小,鼠标悬浮在函数节点处悬浮提示该函数的基本信息,包括文件位置、函数地址、函数大小等,点击函数节点可自动跳转到对应的源码处,方便迅速定位函数位置。
