调试技巧课程编号:用友软件股份有限公司U9客户化开发支持部杜华侨2009年6月1日调试器基本用法U9前台代码关键调试点U9后台代码关键调试点VS2005易用的调试功能要求源文件和原始版本完全匹配一般建议源文件和原始版本完全匹配勾上,这样调试能保证在正确的版本上进行调试,如果调试的版本不一致,有可能导致看到了错误的结果和代码调试器基本用法附加到进程U9产品的前台、后台调试只需要附加w3wp进程,快捷键Ctrl+Alt+P调试JS脚本需要附加IE进程调试器基本用法异常中断选项在VS调试时,按下CTRL+ALT+E快捷键, 可以弹出异常中断选项勾选Common Language Runtieme Exceptions项目,保证所有异常不被吃掉,包括程序中使用try„catch„捕捉完而不重新抛出的异常调试器基本用法设置断点鼠标进入代码行按F9快捷键设置断点使用条件设置命中时机,对于多次调用的代码行增加条件调试器基本用法查看堆栈信息查看堆栈,可以了解代码的执行过程双击某一行将定位关联的源码文件调试器基本用法快速调试提高调试速度不打开VS工程,通过日志查看定位报错CS文件,直接打开文件设置断点调试调试器基本用法WebPart生命周期事件事件描述事件处理方法Init当控件被初始化, 生命周期的第一步OnInitLoad当控件被页面加载OnLoadDataBinding当控件绑定数据源OnDataBindingPreRender当控件被加载后但还没有呈现OnPreRenderUnload当控件被卸载OnUnloadDisposed当控件内存资源被释放,生命周期的最后一步DisposeU9前台代码关键调试点OnInit () 方法该方法中CreateFormChildControls()对整个页面所有控件进行创建和初始化处理。如果页面控件的绑定等有问题,就需要查一下这里面的代码,看通过UBF构造自动生成的代码是否正确:如绑定的VIEW,FIELD等,通过调试定位错误,再修改设计态模型OnLoad()方法页面OnInit()完后,会进入该OnLoad()方法,该方法主要是对页面绑定的数据UIMODEL的处理。对该方法设断点,可以了解该页面加载数据组织的过程,即当前Model的数据是如何得到的。可以查出UIModel相关的数据问题。OnPreRender方法在页面.触发事件执行完后,会走该方法进行页面呈现此方法进行了页面数据的绑定如果OnLoad完UIModel的数据是正确的,但是呈现的数据不正确,那么可以对该方法进行调试,看是否进行了数据绑定U9前台代码关键调试点BE事件执行顺序事件描述OnSetDefaultValue设置默认值,BE插入或更新时执行OnValidate业务校验,BE插入或更新时执行OnInsertingBE插入前事件OnUpdatingBE更新前事件OnDeletingBE删除前事件OnInsertedBE插入后事件OnUpdatedBE更新后事件OnDeletedBE删除后事件订货单(A)订货单行(B)A.OnSetDefaultValueB.OnSetDefaultValueB.OnValidateA.OnValidateA.OnInsertingB.OnInsergingB.OnInsertedA.OnInsertedBE模型新增修改A.OnSetDefaultValueB.OnSetDefaultValueB.OnValidateA.OnValidateA.OnUpdatingB.OnUpdatingB.OnUpdatedA.OnUpdated删除A.OnDeletingB.OnDeletingB.OnDeletedA.OnDeleted事件描述U9后台代码关键调试点BP、SV策略模式BaseStrategyDo()ImpementStrategy1Do()ImpementStrategy2Do()ImpementStrategy3Do()BP、SV关键调试是实现策略Do()方法的调试U9后台代码关键调试点编辑时识别对象在Visual Studio 2005中,新引入了"Object Identity While Debugging"的概念,也就是说,系统给在调试阶段的每个对象,都可以赋予一个别名,在调试时,直接引用该别名就可以了VS2005易用的调试功能异常助手在Visual Studio .net 2003中,当程序运行出现异常时,系统会显示一个异常信息对话框,询问是否停止程序执行或继续运行程序,但并没有提供给开发者更多的关于异常的信息。在Visual Studio .net 2005中,提供了 Exception Assistant(异常助手)的新功能,可以显示丰富的关于异常方面的信息,帮助开发者调试VS2005易用的调试功能可视化调试器查看dataset里的每个datatable的数据,在Visual Studio 2003中十分麻烦。在Visual Studio 2005中,利用“debugging visualizers”(可视化调试器)的功能,方式:如文本,html,xml。在各类的监视窗口中,都可以调用可视化调试器VS2005易用的调试功能编辑并继续VS2005易用的调试功能数据提示功能显示与该参数相关联的一些很有用的信息,比如相关的属性,以及当前该参数的值。在data tip的功能中,还可以继续使用edit and continue的功能,VS2005易用的调试功能