Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在VS2010中获取EnvDTE.Debugger的实例_C#_Visual Studio 2010_Visual Studio Debugging_Envdte - Fatal编程技术网

C# 在VS2010中获取EnvDTE.Debugger的实例

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中查询调试器 提前感

我正在尝试创建一个Visual Studio集成包项目,该项目将显示来自调试器的数据。
因此,我找到了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变量将始终为空。