首页 新闻 会员 周边

请问高手:大型软件系统的调试问题

0
悬赏园豆:100 [已解决问题] 解决于 2009-02-03 18:13
<P>现状:现有1个大型的ERP系统,拥有多达80个项目,代码多达600M,编译后1.7G,框架为自己公司人员编写,包括常用基类项目,Remoting调用,Winform页面,水晶报表等,项目之间耦合度较高,互相引用。现使用VS2005编写代码,由于项目太大,我机器内存2G也无法完全编译成功,会提示存储空间不够,只能编译一部分,copy生成dll至系统入口项目运行,然后采用附加进程的方法调试,如此一来,一旦源代码有任何修改,都只能停掉程序,修改源码,copy生成dll,登陆系统,附加进程,查看结果,效率十分低下,请问各位高手是否有更好的解决方案,Nunit是否可以处理这种问题?</P> <P>&nbsp;</P> <P>ps:一个更加普遍的问题,我们如何在框架,比如说Castle,IbatisNet下进行调试,也有类似的问题,当然我现在的项目可能与框架结合更加紧密。</P> <P>&nbsp;</P> <P>本人对Winform的调试不熟,我觉得webform的调试似乎更方便,只需编码重新刷新页面就可以,而winform则需要重新启动程序,十分繁琐。积分不多,还望高手不吝赐教,谢谢</P> <P>&nbsp;</P> <P>&nbsp;</P>
白玉京的主页 白玉京 | 初学一级 | 园豆:100
提问于:2008-08-28 14:38
< >
分享
最佳答案
0
首先,你们的开发模式有严重问题,不要让每个程序员自己单独去构造整个项目,这样效率太低了,应该抽调几个人专门负责项目构造,实行日构造,也就是说利用nant这些开源项目实现一套自动构造程序,每天晚上让它自动从源代码版本控制服务器获取所有人的最新代码后统一构造运行,然后第二天把构造好的新版本分发给所有程序员。 其次,在上面的基础上,每个程序员在开发调试的时候只关注自己负责的模块就可以了,如果调试涉及到修改代码,那必须要重新编译,重新部署的,但是这里应该只编译和部署你自己负责的那么一个小模块即可。这是不可避免的,即使是WebForm,除非是调试脚本不需要重新启动,只刷新即可,否则跟WinForm没什么区别的。 最后,上面所说是开发模式问题,另外你可以注意一下开发时的技巧,比如代码里多写一些断言和日志,可以辅助你更快的定位问题,不是所有bug都需要跟踪调试才能解决的,应该大部分bug是可以通过读代码和其他辅助线索帮助下定位的,还有就是解决问题的思路问题,跟踪调试只是山穷水尽的最后一步,其实之前还是有很多方法的。 看你的情况,推荐你一本书 http://space.cnblogs.com/group/topic/2849/,这本书我觉得你应该尽快好好读一遍,对你应该有很大帮助。英文版可以在这里找到:http://space.cnblogs.com/group/topic/4183/
Justin | 小虾三级 |园豆:980 | 2008-09-01 21:23
其他回答(2)
0
第一步把软件整体上划分模块,不同模块建立自己的解决方案 第二步将模块之间的关联部分抽象出来,在解决方案开发环境中实现这种抽象的一个简单版本 第三步各个解决方案整合
玉开 | 园豆:8822 (大侠五级) | 2008-08-28 15:10
0
可以考虑写一些模拟程序模拟你所开发的模块的相关模块,由于你所开发模块不可能和这么大的系统中的所有模块都打交道,所以你只需开发一些简单的模拟程序就可以通过运行一个小的模拟环境来调试你的模块。
eaglet | 园豆:17139 (专家六级) | 2008-08-29 07:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册