【发布时间】:2014-01-22 12:27:13
【问题描述】:
在 Visual Studio 中,我想关注特定 .NET 对象的状态。该对象开始由一个局部变量引用,我想继续在其他堆栈帧甚至其他线程中观察该对象。即使将局部变量设置为null,我也想继续关注原始对象。这可能吗?
【问题讨论】:
标签: .net visual-studio debugging watch
在 Visual Studio 中,我想关注特定 .NET 对象的状态。该对象开始由一个局部变量引用,我想继续在其他堆栈帧甚至其他线程中观察该对象。即使将局部变量设置为null,我也想继续关注原始对象。这可能吗?
【问题讨论】:
标签: .net visual-studio debugging watch
您可以在调试器中右键单击对象(当您将鼠标悬停在某处时的“弹出窗口”上,或在监视窗口中)并调用“生成对象 ID”命令。这会将 ID 分配给您可以在 Watch Window 或 Immediate Window 中使用 1#(或任何 ID)引用的对象。
此 ID 是对对象的字符串引用。只要附加了调试器,它就永远不会消失。
您甚至可以在 Watch 和 Immediate Windows 支持的伪 C# 语言中使用这种井号语法(例如 1#.SomeProperty)。
【讨论】: