2

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

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

4

2 回答 2

2

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

于 2013-05-16T16:48:57.420 回答
2

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

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

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

new YourDebuggerTypeProxy(thingBeingDebugged)

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

于 2015-02-18T21:24:31.417 回答