我现在想做一个vs插件,用来实现利用vs来调试运行时程序中的一些类的代码(方便customer对一些公式类的调试与编辑)。我的思路是这样的,在程序中为用户提供对某个公式类的调试入口,用户可通过该入口以命令行的形式运行一个vs插件,该插件的任务是将程序进程附加到vs中,并定位到需要调试的类,并在该类的特定方法起始处设置断点,用户可以单步调试该方法,并在离开方法体时插件将进程交还给原应用程序,关闭vs。现在开始做时遇到了很多问题,如怎样将进程交给vs?怎样定位特定的类、特定的方法体?怎样设断点?怎样在离开方法体时将进程交还?问题很多,这方面的开发以前从未涉足过,只是希望能将自己的这个设想实现,望版上各位高手能多多指点!

解决方案 »

  1.   

    下载Visual Studio SDK,里面有为VS开发插件的一切文档和资源。
      

  2.   

    ????这个功能vs本身就有滴。 vs自己的即时窗口就可以了对于非web项目,其他类型的项目都可以。直接在即时窗口里面直接调试。vs 调试--窗口---即时就可以把即时窗口调出来,你可以先在要调试的地方下上断点,然后直接在即时窗口里输入  XXX xx=new XXX();vs自己就会运行这个代码,同时会自动停止到你下断点的地方。而且这个过程是交互滴。后面你还可以xx.yyy=111对xx对象进行现场交互设置,并观察对象状态当然这是一个非常少用的功能,大多数情况下我们会直接用单元测试工具去测试,而不是用即时窗口去测试。
    ps:web项目有自己的生命周期,他需要宿主环境,所以不太好直接使用这种方式调试
      

  3.   

    当然如果你非要自己开发这个东西实际上除了上面说的sdk以外,到时有另外一个东西可以参考,那就是ironpython对vs的一个插件ironpython interactive 插件,这个是个开源的玩意,可以在codeplex找到这个项目