用途:该技能负责 .memgraph 的捕获以及命令行层面的所有权与增长分析,用于证明内存在既定生命周期边界后为何仍然存活。若主要任务是交互式内存图或分配时间线,应改用 Memory Graph Debugger 或 Instruments;仅在运行时证据已定位生命周期或路径后,才用源码审查验证闭包捕获。
主要能力:区分不可达泄漏、可达但被遗弃状态、预期缓存或池、堆回归或碎片化;保留原始工具输出并构建有界摘要;通过 leaks --list、--traceTree、--groupByType、--referenceTree 等定位首个可操作的应用自有边;在 leaks 为空时用匹配的基线与流程后内存图调查可达增长。
使用方式:先定义应消失的对象及其生命周期结束事件,记录确定性流程(启动或恢复已知状态、可选基线图、执行功能流程、跨越释放边界、等待异步清理、取流程后图),保持构建、模拟器或设备、数据、Malloc Stack Logging 设置与重复次数一致。可用脚本捕获模拟器内存图:python3 scripts/capture_sim_memgraph.py --bundle-id com.example.MyApp --output-dir /tmp/myapp-memory/run-01 --pretty > /tmp/myapp-memory/run-01/capture.json;多台模拟器启动时传 --udid。随后用 summarize_memgraph.py 生成摘要,并从保留的捕获报告中读取确切图路径。
限制:Apple 的泄漏扫描器使用保守指针发现且类型元数据不完整,计数会波动,零结果不能证明不存在所有权缺陷。捕获会挂起进程,不能把捕获延迟当作性能数据。文本格式并非稳定机器模式,解析警告应促使检查原始产物。修复后需重复相同流程,只有同一应用自有类型或路径消失或增长被消除才算验证成功;RSS 降低、图文件变小或泄漏总数下降本身不构成证明。