如何在Instruments性能分析报告中显示行号及相关问题求助
MacOS Instruments 调试C++代码的两个问题解决方法
问题1:查看按行级别的耗时统计
- 先确认代码编译时带调试符号:
- 手动编译时添加
-g参数;Xcode中在Build Settings里,将「Debug Information Format」设为「DWARF with dSYM File」
- 手动编译时添加
- 打开Instruments,选择「Time Profiler」模板启动 profiling
- 在左侧「Call Tree」面板:
- 按需勾选「Separate by Thread」「Invert Call Tree」「Hide System Libraries」,过滤出自己的业务代码
- 右键点击表头,勾选「Source Location」选项
- 双击目标函数,Instruments会自动跳转到对应源码文件,此时就能看到每行代码的耗时占比标注(右侧有对应时间条形图)
问题2:函数名过长被挤出屏幕无法查看
- 直接调整列宽:把鼠标放在「Function Name」列和右侧列的分隔线上,拖动分隔线加宽列宽,就能完整显示长函数名
- 复制查看:右键点击目标函数名,选择「Copy」,粘贴到文本编辑器里查看完整名称
- 跳转源码查看:双击函数名跳转到对应源码文件,源码中的函数名是完整显示的
- 快速定位:用Call Tree顶部的搜索框输入函数名关键词,直接过滤出目标函数,无需滚动查找
内容的提问来源于stack exchange,提问作者SapphireSun
相关产品推荐
相关产品推荐

