【发布时间】:2012-12-27 18:14:33
【问题描述】:
使用windbg,有没有办法查看在实例上定义的所有自定义属性? (在课堂上)
如果可能的话,我可以在自定义属性中看到字段值吗?
【问题讨论】:
-
我能问一下为什么你必须使用windbg而不是dotPeek之类的其他工具吗?
-
@wal 我正在运行时注入自定义属性,因此您在编译的程序集中看不到它。也使用 c# 反射 API 来检查这将不起作用(AFAIK 这是因为某种 MS 错误)
-
using the c# reflection API to check this will not work出于好奇,我自己尝试了这个:imgur.com/L8snm 你能告诉我这与你所做的有什么不同吗? -
在示例中,属性在编译时应用于类型。在我的情况下,代码是在没有属性的情况下编译的。我正在使用 CLR 探查器 API(本机 c++)在运行时发出属性。如果您使用分析器 API 发出新类型并使用反射来查找该类型,也会存在同样的问题。它不会显示类型。我认为这是因为管理反射 API 会查看已编译的元数据。