C# 在VS2010中获取EnvDTE.Debugger的实例
我正在尝试创建一个Visual Studio集成包项目,该项目将显示来自调试器的数据。C# 在VS2010中获取EnvDTE.Debugger的实例,c#,visual-studio-2010,visual-studio-debugging,envdte,C#,Visual Studio 2010,Visual Studio Debugging,Envdte,我正在尝试创建一个Visual Studio集成包项目,该项目将显示来自调试器的数据。 因此,我找到了EnvDTE名称空间,它似乎为我提供了所需的类和方法。 根据VS2005的文档,应使用以下代码获取调试器的实例: EnvDTE.Debugger _debugger; _debugger = EnvDTE.DTE.Debugger; 但这会在VS2010中生成错误-非静态字段、方法或属性“EnvDTE.\u DTE.Debugger.get”需要对象引用 如何在VS2010中查询调试器 提前感
因此,我找到了EnvDTE名称空间,它似乎为我提供了所需的类和方法。
根据VS2005的文档,应使用以下代码获取调试器的实例:
EnvDTE.Debugger _debugger;
_debugger = EnvDTE.DTE.Debugger;
但这会在VS2010中生成错误-非静态字段、方法或属性“EnvDTE.\u DTE.Debugger.get”需要对象引用
如何在VS2010中查询调试器
提前感谢。也许更好的方法是创建调试器可视化工具,看看Mole AFAIK,它是迄今为止功能最强大的调试器可视化工具,对于旧版本源代码是可用的
也许更好的方法是创建调试器可视化工具,看看Mole AFAIK,它是迄今为止功能最强大的调试器可视化工具,对于旧版本源代码是可用的
要从VS包访问DTE的调试器,请调用您的
包
对象,如中所示:
DTE2 dteInstance = (DTE2) _package.GetService(typeof(SDTE));
Debugger4 dteDebugger = (Debugger4) dteInstance.Debugger;
要从VS软件包访问DTE的调试器,请调用
软件包
对象,如中所示:
DTE2 dteInstance = (DTE2) _package.GetService(typeof(SDTE));
Debugger4 dteDebugger = (Debugger4) dteInstance.Debugger;
谢谢,但visualizer不适合我的需要。是否有连接到EnvDTE调试器的选项?谢谢,但visualizer不适合我的需要。是否有连接到EnvDTE调试器的选项?非常感谢-此代码可编译。但是dteInstance总是空的(我还尝试了'DTE dteInstance=(DTE)this.GetService(typeof(SApplicationObject))根据MSDN的说法,用来获取DTE实例的链接也不起作用。你知道我能做什么吗?谢谢。对不起,不知道。但在谷歌上我找到了与你描述的情况相同的MSDN论坛上更多线程的链接。我知道这是一个很老的问题,但代码应该是
Debugger4 dteDebugger=(Debugger4)dteInstance.Debugger;
而不是Debugger4 dteDebugger=(Debugger4)dteInstance;
。由于代码的原因,dteDebugger变量将始终为null。非常感谢-此代码可以编译。但dteInstance始终为null(我还尝试了'DTE dteInstance=(DTE)this.GetService(typeof(SApplicationObject))根据MSDN的说法,用来获取DTE实例的链接也不起作用。你知道我能做什么吗?谢谢。对不起,不知道。但在谷歌上我找到了与你描述的情况相同的MSDN论坛上更多线程的链接。我知道这是一个很老的问题,但代码应该是Debugger4 dteDebugger=(Debugger4)dteInstance.Debugger;
而不是Debugger4 dteDebugger=(Debugger4)dteInstance;
。由于代码的原因,dteDebugger变量将始终为空。