如何调试DebuggerTypeProxy代理?

时间:2013-05-16 16:45:15

标签: c# .net debugging

我使用类型声明上的DebuggerTypeProxyAttribute开发了几个我在其嵌套类型上指定的代理。但是当这些代理中存在错误时,调试起来很困难。我还没有找到使用调试器(嵌套调试会话)逐步执行代理的方法。

有关如何执行此操作的任何指示?

2 个答案:

答案 0 :(得分:2)

尝试手动创建类型代理的实例并评估其属性。如果在Visual Studio中进行调试时在立即窗口中执行此操作,则类型代理中的断点将起作用。只需确保在此过程中从类型中删除[DebuggerTypeProxy]属性,这样您就可以完全控制何时创建这些实例。

答案 1 :(得分:2)

受到Sam的回应的启发,我在VS2013中只使用一个调试器就可以做到这一点:

1)将调试器附加到具有您希望通过调试器类型代理检查的类型的进程,并且

2)在即时窗口中实例化调试器类型代理:

new YourDebuggerTypeProxy(thingBeingDebugged)

您的调试器应在调试器类型代理中断开。这似乎是因为VS将通过即时窗口生成的代码直接注入到附加的进程中。