问题描述
在 Visual Studio 中调试时,如何观察由 c++/cli 中的 gcroot
引用的对象?
Visual Studio 仅在调试监视中显示 gcroots 的句柄值。
解决方法
- 保存 gcroot 的句柄值,由调试监视显示。
- 添加调试监视:
System.Runtime.InteropServices.GCHandle.FromIntPtr ( (IntPtr)0x0000000025eaf1d8).Target
。其中 0x0000000025eaf1d8 - 来自 1 的值。
- 切换到任何托管框架以将调试监视切换到托管模式:转到调用堆栈窗口并双击该框架。
手表现在应该显示对象。