Visual Studio 2022内存使用工具无法捕获本机内存快照排查
VS2022内存使用工具无法捕获本机内存分配问题
在Visual Studio 2022中使用内存使用工具并开启启用本机堆分析(带快照)选项时,仅能捕获托管内存分配,无法捕获本机内存分配;但在Visual Studio 2019中运行同一工具、同一项目却可以正常捕获本机内存分配。目前已开启调试配置中的启用本机代码调试选项,而该选项在VS2019中并非必需。想请教VS2022的安装或设置是否存在问题,或是遗漏了UI中的相关配置?
测试代码如下:
class Program { private static void Main(string[] args) { System.Console.WriteLine("Take first snapshot"); System.Console.ReadKey(); // 分配1GB非托管内存 var handles = new System.IntPtr[100]; for (int i = 0; i < handles.Length; i++) { handles[i] = System.Runtime.InteropServices.Marshal.AllocHGlobal(10 * 1024 * 1024); } System.Console.WriteLine("Take second snapshot"); System.Console.ReadKey(); } }
VS2019相关情况
- 工具设置:内存使用工具配置为混合模式
- 快照结果:包含本机堆分配数据
VS2022相关情况
- 工具设置:内存使用工具已开启“启用本机堆分析(带快照)”选项
- 快照结果:未显示本机堆分配数据
内容的提问来源于stack exchange,提问作者owen_shiny
相关产品推荐
相关产品推荐

