使用JetBrains dotTrace API做性能分析时无法保存快照问题求助
可能遗漏的配置/操作步骤及修复方法
- 确认dotTrace分析任务开启了API控制支持
你在启动dotTrace分析任务时,必须勾选配置页中的启用性能分析API控制选项,未勾选时代码中调用的MeasureProfiler系列API全部不会生效,自然不会生成快照。 - 等待快照写入完成再结束进程
MeasureProfiler.SaveData()是异步执行的方法,如果你调用该方法后立刻关闭目标应用,快照还没完成写入就会被中断。可以在SaveData()后增加3-5秒的等待,示例代码如下:MeasureProfiler.StartCollectingData(); SomeLongRunningMethod(); MeasureProfiler.StopCollectingData(); MeasureProfiler.SaveData(); // 增加等待确保快照写入完成 Thread.Sleep(5000); - 核对快照保存路径
dotTrace默认快照保存路径为C:\Users\你的用户名\AppData\Local\JetBrains\dotTrace\对应版本号\Snapshots,API生成的快照会带ApiSnapshot前缀,你可以直接在资源管理器中搜索该前缀文件确认是否生成。也可以在dotTrace设置中手动修改默认保存路径到权限更高的目录(比如非系统盘根目录),避免权限不足导致写入失败。 - 确保API调用时机正确
你需要确认dotTrace的分析会话完全启动、且已经成功附加到目标进程后,再调用StartCollectingData()方法,避免API调用时会话还未初始化完成导致指令失效。 - 核对API与dotTrace版本兼容性
你使用的1.1.8版本Profiler API需要匹配2022.1及以上版本的dotTrace,如果你本地安装的dotTrace版本低于该要求,会出现API调用无响应的问题,升级dotTrace到最新稳定版即可解决。
内容的提问来源于stack exchange,提问作者Xss
相关产品推荐
相关产品推荐

