我有一个 VSPackage,我想在调试模式下获取类似于本地窗口中显示的信息(当前上下文的变量值)。
我一直在试验 DTE.Debugger.CurrentStackFrame 实例,它看起来很有趣,因为它公开了 Argument 和 Local 表达式集合。但是,我看不到将表达式的值作为对象获取的方法- Value 属性似乎只是 ToString 值。
我有一个 VSPackage,我想在调试模式下获取类似于本地窗口中显示的信息(当前上下文的变量值)。
我一直在试验 DTE.Debugger.CurrentStackFrame 实例,它看起来很有趣,因为它公开了 Argument 和 Local 表达式集合。但是,我看不到将表达式的值作为对象获取的方法- Value 属性似乎只是 ToString 值。
不可能将值作为对象来获取。主要是因为该值与您的 VS 包不存在于同一进程中。它存在于被调试进程中。Visual Studio 调试器必须通过 CLR API 来操作该值。您能做的最好的事情就是从 VS 包中获取字符串值。
您可以使用 Visual Studio Visualizer 访问实际对象。信息可以在这里找到。