native-app-performance
通过 xctrace 进行原生 macOS/iOS 应用程序性能分析。无需开启 Instruments UI 即可记录、追踪并识别性能热点。
简介
此技能为原生 macOS 和 iOS 应用程序的性能分析提供了一套精简的命令行接口。通过利用 xctrace 的强大功能,开发人员和性能工程师可以在没有 Instruments 图形用户界面负担的情况下,获取详细的 Time Profiler 追踪记录、导出样本数据并执行符号化 (symbolication)。这在 headless 环境、持续集成 (CI/CD) 流程,或偏好终端工作流程的开发者中特别有用。
该技能自动化了记录、对应程序内存以及将符号关联至原始机器码地址的复杂过程。用户可以附加至现有程序或直接启动应用程序以获取性能数据,随后处理这些数据以输出清晰、排序后的性能热点列表。它有助于识别 CPU 密集区块、低效算法路径以及通常难以察觉的 UI 线程瓶颈。
-
使用 xcrun xctrace 和 Time Profiler 等模板进行无头 (headless) 性能分析。
-
将追踪数据导出为 XML 格式以进行程序化分析。
-
利用二进制文件加载地址与 atos 工具自动进行堆栈追踪的符号化。
-
生成排序后的性能热点清单,以优先处理优化作业。
-
支持附加至现行 PID 及启动独立二进制文件。
-
确保 macOS 环境中安装了正确的开发人员工具与权限。
-
请务必在应用程序发生重大活动(如 UI 转换或数据处理)时进行获取,以避免产生空堆栈。
-
使用 vmmap 工具正确识别执行阶段的 __TEXT 段加载地址,以解决因 ASLR 导致的符号化错误。
-
工作流程需要指向本地应用程序二进制文件的正确路径;请确保符号与记录追踪时所使用的二进制文件匹配。
-
可输入包含 .app 套件路径、目标处理程序 PID 以及记录的时间限制。
-
输出提供可执行的报告,显示顶层函数框架与调用树摘要,以供深入的优化分析。
仓库统计
- Star 数
- 312
- Fork 数
- 46
- Open Issue 数
- 1
- 主要语言
- Vim Script
- 默认分支
- main
- 同步状态
- 空闲
- 最近同步时间
- 2026年4月28日 12:30