You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity构建中使用Instrumentation性能分析的问题求助

问题描述

我尝试在Unity构建版本上运行插桩式性能分析器(instrumentation profiler),以定位调用最频繁、耗时最长的函数。我创建了导入Unity的C#类库,可正常调试,但无法启动Visual Studio Profiler对其进行插桩分析,遇到以下问题:

  • 在Unity中未找到instrumentation功能,或启用后运行数分钟就崩溃,抛出大量异常:ThreadDeserializer should not parse more data once it has been marked as terminated
  • 已尝试的操作:
    1. 将VS附加到Unity播放模式,但instrumentation选项未激活;
    2. 开启Unity的Debug选项、复制PDB、启用深度分析,尝试在Visual Studio中直接分析.exe文件时,报错:Unable to obtain debugging information. PRF0002: The instrumentation with those options has failed;
    3. 运行应用程序.exe并附加VS调试器,此时instrumentation选项可用,但之前的崩溃问题仍存在。

请问我遗漏了什么步骤?

解决方案

一、修复PRF0002错误

  1. 校准Unity构建配置

    • 选择Debug/Development Build模式,必须勾选Copy PDB Files(VS获取调试信息的核心前提);若仅分析自定义C#类库,可暂时关闭Enable Deep Profiling Support(避免插桩过载);取消Wait For Managed Debugger等非必要选项,减少流程干扰。
    • 构建输出目录选非系统盘、无中文/特殊字符的路径,规避权限或解析问题。
  2. 调整VS插桩设置

    • 打开VS性能分析器(Debug > Performance Profiler),选择目标.exe后进入Advanced Settings:
      • 取消勾选Instrument native code(Unity原生代码插桩易触发兼容性问题);
      • 仅勾选Instrument managed code,并手动指定你的自定义C#类库程序集(避免插桩Unity自带的大量程序集,引发PRF0002错误);
      • 若用VS2022及以上版本,确认已安装.NET Profiling Tools组件(在VS安装器的Individual components中勾选)。

二、解决ThreadDeserializer崩溃异常

  1. 缩小插桩范围

    • 绝对不要对Unity核心程序集(如UnityEngine.dll、UnityEditor.dll)插桩,仅勾选你自己编写的C#类库。插桩过多程序集会导致线程序列化器过载,触发目标异常。
    • 在VS性能分析器的Instrumentation设置中,点击Select assemblies,只保留自定义类库,排除所有Unity相关程序集。
  2. 规避Profiler冲突

    • 运行构建后的.exe前,完全关闭Unity Editor,避免内置Profiler与VS插桩Profiler的线程处理逻辑冲突。

三、可靠的插桩分析流程

如果直接分析.exe仍有问题,可采用以下步骤:

  1. 构建Unity项目为Development Build,勾选Copy PDB Files和Script Debugging,不勾选Enable Deep Profiling Support;
  2. 启动构建后的.exe程序;
  3. 在VS中选择Debug > Attach to Process,选中目标Unity.exe进程;
  4. 打开性能分析器,选择Instrumentation选项,仅勾选自定义C#类库;
  5. 点击Start开始分析,运行场景后点击Stop生成报告。

四、额外注意事项

  • 确保VS与Unity版本兼容:推荐VS2022搭配Unity 2021及以上版本,旧版本兼容性问题较多;
  • 关闭第三方杀毒/防火墙,避免拦截VS插桩工具修改程序集;
  • 若自定义类库用IL2CPP编译,需在Unity构建时勾选Enable Script Debugging for IL2CPP,并确保VS安装了IL2CPP Debugging Tools组件。

内容的提问来源于stack exchange,提问作者user2088807

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 14:48:17