【问题标题】:Debug -> Windows -> Memory for a Unity project?调试 - > Windows - > Unity 项目的内存?
【发布时间】:2022-04-16 22:53:41
【问题描述】:

我需要在调试 Unity 项目时检查其内存内容。

不管我怎么尝试,比如使用托管兼容模式,Memory窗口都拼命显示:

Unable to evaluate the expression.

问题:

是否可以使用 Unity 项目的内存窗口检查内存?

【问题讨论】:

  • 您可以尝试使用 Unity Profiler,它是检查 Unity 项目内存内容的好工具。
  • Here 你可以找到一些在 Unity 中调试和有关内存管理的指导步骤。

标签: c# unity3d memory visual-studio-2019 visual-studio-debugging


【解决方案1】:

这是一个让我看到托管代码中使用的非托管内存的技巧:

  • 附加一个VS作为Unity Debugger,暂停,从Watch窗口获取变量地址;
  • 附加另一个 VS 作为本机调试器,暂停,将地址放入 内存窗口。

要在 Unity 调试器模式下与 VS 交互,只需在本机调试器中点击“继续”即可。

【讨论】:

    【解决方案2】:

    调试 -> Windows -> Unity 项目的内存?

    其实,在unity项目中,内存窗口不能自动捕捉托管代码,你应该使用Watch窗口获取变量的地址,然后在内存窗口来获取它。

    建议

    首先,请从this document启用这些选项。

    1)在Unity项目的变量上设置断点,当断点被命中时,可以打开Watch窗口,并使用& 获取变量地址如下:

    2)然后复制内存窗口中的地址,就可以看到关于它的内存内容:

    另外,您也可以尝试使用Unity Profiler,就像Lotan推荐的那样观看记忆内容。

    【讨论】:

      猜你喜欢
      • 2015-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-04
      • 2011-10-03
      • 2022-12-11
      • 2018-03-08
      • 2014-05-22
      相关资源
      最近更新 更多