首页 > 解决方案 > 如何从 ClrMd 指针重构 C# 对象

问题描述

我正在使用 ClrMd 检查 C# 应用程序中的内存,并在进程上连续创建了一个运行时对象。我使用运行时对象来调用 EnumerateObjects()。这将返回一个 ulong 集合,这些集合是对堆上所有对象的引用。如果引用是字符串,我可以使用 ClrType GetValue() 重构字符串。但是,当我在对其他对象的引用上调用 GetValue() 时,GetValue 返回似乎是另一个引用(即 ulong)的内容。

我是否需要执行某种 C# 不安全代码? 代码示例 顺便说一句,我用 EnumerateObjectAddresses() 得到了相同的结果(两者之间有区别吗?)

标签: getvalueclrmd

解决方案


推荐阅读