调试 -> Windows -> Unity 项目的内存?
Debug -> Windows -> Memory for a Unity project?
我需要在调试时检查 Unity 项目的内存内容。
无论我怎么尝试,比如使用托管兼容模式,内存window拼命显示:
Unable to evaluate the expression.
问题:
是否可以使用内存 window 为 Unity 项目检查内存?
Debug -> Windows -> Memory for a Unity project?
实际上,在unity项目中,memory window不能自动捕获托管代码,你应该使用Watch Window获取变量的地址,然后在内存中输入地址Window获取。
建议
首先,请从this document启用这些选项。
1)在Unity工程的变量上设置一个断点,当遇到断点时,可以打开Watch Window,然后用&
得到变量的地址,像这样:
2)然后复制Memory中的地址Window可以看到关于它的内存内容:
除了,你也可以尝试使用Unity Profiler,就像Lotan推荐的那样观看内存内容
这里有一个技巧让我看到了托管代码中使用的非托管内存:
- 附加一个 VS 作为 Unity Debugger,暂停,从 Watch 获取变量地址 window;
- 附加另一个 VS 作为本机调试器,暂停,将地址放入
内存 window.
要在 Unity 调试器模式下与 VS 交互,只需在本机调试器中点击“继续”即可。
我需要在调试时检查 Unity 项目的内存内容。
无论我怎么尝试,比如使用托管兼容模式,内存window拼命显示:
Unable to evaluate the expression.
问题:
是否可以使用内存 window 为 Unity 项目检查内存?
Debug -> Windows -> Memory for a Unity project?
实际上,在unity项目中,memory window不能自动捕获托管代码,你应该使用Watch Window获取变量的地址,然后在内存中输入地址Window获取。
建议
首先,请从this document启用这些选项。
1)在Unity工程的变量上设置一个断点,当遇到断点时,可以打开Watch Window,然后用&
得到变量的地址,像这样:
2)然后复制Memory中的地址Window可以看到关于它的内存内容:
除了,你也可以尝试使用Unity Profiler,就像Lotan推荐的那样观看内存内容
这里有一个技巧让我看到了托管代码中使用的非托管内存:
- 附加一个 VS 作为 Unity Debugger,暂停,从 Watch 获取变量地址 window;
- 附加另一个 VS 作为本机调试器,暂停,将地址放入 内存 window.
要在 Unity 调试器模式下与 VS 交互,只需在本机调试器中点击“继续”即可。