日期:2014-05-20  浏览次数:20848 次

winform项目
在调试项目时因为启动整个项目需要重新生成一遍,感觉速度挺慢的,所以对某个模块代码进行单独调试,用附加到进程调试的方法,但是我对这个方法不熟悉,不会使,有哪位高手可以帮我提点一下?

------解决方案--------------------
参考http://www.21shine.com/teach/showteach.asp?ftnum=3871&bbsid=bbs
------解决方案--------------------
探讨
配置好IIS,在IIS中启动一个页面。
项目中打好断电,附加进程到w3wp(多个不好区分的话就全部选中),附加。差不多了就....

------解决方案--------------------
编写单元测试针对某个模块代码进行单独调试,我一向都是这么干的。
------解决方案--------------------
先Ctrl+F5运行,欲调试时,选择‘调试’--‘附加到进程’,选中你的程序附加即可。(附加前后,随时可以加断点)
-------------
另外,其实你可以对解决方案配置下,不必每次 F5 都重新生成一次‘所有’项目的。在你的解决方案,右键,选中‘配置管理器’,仅选中欲生成的项目即可。(有些类库项目,一般不会怎么变动,不需要每次生成的。)
------解决方案--------------------
调试时去“附加进程”,其实会“累死”你的!因为每一次轻松的F5操作,都变成了费时费力的手工操作,难以重复很多次。

想要单独调试某个独立的DLL或者工程,你可以在你的sln上另外创建一个windows应用程序,它仅仅引用你要调试的DLL或者工程,然后在这个windows应用程序上写一点代码(或者窗体)来调用被调试的东西执行。这样,你的sln中就有多个windows应用程序。没有关系,想运行哪一个,就设置哪一个工程为“启动工程”就行了。
------解决方案--------------------
实际上进一步地,你也可以有多个sln解决方案,每一个都是单个windows应用程序,引用你要调试的DLL或者工程。这样你在单独创建的windows应用程序上“调试”,而不必在原来的最终要发布的windows应用程序上调试。

不过我觉得你首先要确认一下是否真的“启动整个项目需要重新生成一遍”。这可能是你的vs有问题了。按说没有修改过的工程是不会重新build的。
------解决方案--------------------
不太熟悉的情况下,可以新建个winform项目,将需要的dll加入引用,new你要调试的form,再show出来就可以了,如果要调试控件,new Form{Controls{你的控件实例}}再show
如果比较熟悉可以写到配置文件里用反射加载。
如果很牛可以写个小程序load你的dll,遍历出所有窗体和控件,选择一个实例化后显示。