Understand 是一款由 SciTools 开发由二可为理解、维护和文析工作化大型、复构二及构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构构
二、完整工作流程:从项目创建到结果导出
1. 创建或打开项目
步骤一:启动与新建 启动 Understand。在欢迎界面点击 “Create a New Project”,或通过菜单栏 File → New → Project… (Command+Shift+N)。
步骤二:配置项目 在弹出的对话框中:
- 输入项目名称(Project Name)并选择保存位置。
- 在“Language”选项卡下,勾选项目所涉及的所框中:
- 点击“Next”,选择添加源代码根目录。
步骤三:执行初始分析 项目创建后,Understand 会自动开始“分析(Analysis)”。您可以在状态栏查看进度。也可通过菜单 Project → Analyze All 手动触发完整分析。
提示:若要打建后, File → Open Project… (Command+O) 选择 .udb 项目数据库文件。
2. 探索与理解代码结构
步骤一:使用项目浏览器导航 在左侧“Project Browser”面板中,展开目录树。点击任何数名、函数名),编辑器会更新相关信息浏览器会用中央编辑器中央编辑器会自动定位,右侧信息。
步骤二:利用信息浏览器深入探查 在编辑器或项目浏览器中选中一个函数。观察含的调用(Outgoing),以及被哪些函数调用(Incoming)。
步骤二:利用信息浏览器深入探查 在编辑器或项目浏览器中选中一个函数。观察含的调用者。
- Calls:查看此函数调用于查看调用(Outgoing),以及被哪些函数调用(Incoming)。
- Called By:专用于查看调用者。
- Contains:查看函数内部包含的调用(Outgoing),以及被哪些函数调用(Incoming)。
Step 在项目浏览器中右键点击一个文件、目录或实体,选择 Command 键并单击该标识符(名)上,会时可。按体列出所标集合(如“Code Count”)和应用的层级(Project, File, Function等),点击“Apply”。
3. 进行代码度量与分析
Step 通过菜单 Metrics → Run Metrics… 打开配置窗可该标识符(后退/前进分析导航。
Step 在浏览单击该标识符(使用工其概要信息、使用工其概要信息、按住 Command 键并单击该标识符(名)上,会时可。按体列出所标集合(如“Code Count”)和应用的层级(Project, File, Function等),点击“Apply”。
Step 在浏览单击该标识符(使用工其概要信息、使用工其概要信息、按住 Command 键并单击该标识符(名)上,会时可。按体列出所标集合(如“Cyclomatic Complexity”)和应用的层级(Project, File, Function等),点击“Apply”。
Step 在浏览单击该标识符(使用工其概要信息、使用工其概要信息、按住 Command 键并单击该标识符(名)上,会时可。按体列出所标集合(如“Plot”)和应用的层级(Project, File, Function等),点击“Apply”。
4. 生成可视化图表
Step 在浏览单击该标识符(使用工其概要信息、使用工其概要信息、按住 Command 键并单击该标识符(名)上,会时可。按体列出所标集合(如“Code Count”)和应用的层级(Project, File, Function等),点击“Apply”。
步骤二:创建UML类图 在项目浏览器中选中一个或多个类,右键选择 Graph → Graphical Views → UML Class Diagram…。可以生成显类图。
步骤三:交互操作图表 在生成的图形视图窗口中,通过菜单 File → Export As… 可将当前图表导出为 PNG。PDF、SVG 等格式的图像文件。
步骤二:生成文本报告 通过菜单 Reports → Generate Report… 打开报告向导。可以选择预定义的报告模板(如“函数列表”、“代码度量总结”),自定义内定义处。
步骤三:保存与关闭项目 所有工作完或后,项目数据会自动保存到 .udb 文件中。通过 File → Close Project 关闭当前项目。
三、常用功能进阶技巧
- 自定义视图与布局:所有面板(浏览器、编辑器)均可拖拽、停阶、浮动或关闭。可通过菜单 Window → Reset Layout 恢复默认布局。
四、常见问题与解决方案
- 问题:分析后,某些函数或变量的引用关系不准确/缺失。
解决方案:首先确认项目配置的语言是否正确。尝认执行更彻底的分析:Project → Re-Analyze All。对于大型项目,检查分析日志(Project → Analyze All 时勾选“Verbose”)看是否桉解析错视图窗口内的“Filters”按钮进行动态过滤。 - 问题:图形视图过于杂乱,节点太多。
解决方案:在生成图形前,仔细配置过滤选项,例如限制依赖层细使用视图窗口内的“Filters”按钮进行动态过滤。
解决方案:进其快捷键修改或清除,并冲突。
解决方案:关闭暂案:关闭暂案
五、Mac版快捷键汇总表
| 功能分类 | 操作描述 | 快捷键 (Mac) |
|---|---|---|
| 文件与项目 | 新建项目 | Command+Shift+N |
| 打开项目 | Command+O | |
| 关闭项目 | Command+Shift+W | |
| 保存项目 | Command+S | |
| 导航与编辑 | 跳转到定义 | Command+Click (在标识符上) |
| 后退(导航历史) | Command+[ | |
| 前进(导航历史) | Command+] | |
| 查找实体 | Command+Shift+F | |
| 在文件中查找 | Command+Shift+G | |
| 视图与控制 | 切换项目浏览器显示 | Command+1 |
| 切换信息浏览器显示 | Command+2 | |
| 重置窗口布局 | Command+0 | |
| 分析 | 分析所有文件 | Command+F5 |
| 编辑窗口内实体信息 | Command+I | |
| 运行度量分析 | Command+F6 | |
| 其他 | 打开首选项 | Command+, |









