《Eclipse开发环境调试技巧.ppt》由会员分享,可在线阅读,更多相关《Eclipse开发环境调试技巧.ppt(41页珍藏版)》请在三一办公上搜索。
1、Eclipse配置和开发技巧,用友软件股份有限公司NC销售分销开发部 冯加滨2012年 2月 29日,目录,基本配置集成插件开发配置启动参数基础介绍常用窗口快捷方式调试技巧常用断点实用技巧,基础配置,引子我的Eclipse怎么老是卡死,总是这么慢!明明都是拷的一个人的Eclise,为什么我们代码格式总是不一样?工欲善其事必先利其器,集成插件,NC插件列表ncmdencmdpncpluginncexportclear casecheckstylefindbugs,集成插件,MDE插件,集成插件,FindBugs插件是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发
2、现可能的问题,集成插件,CheckStyle插件是一款检查Java程序源代码样式的工具,有效的帮助我们检视代码以便更好的遵循代码编写标准,特别适用于小组开发时彼此间的样式规范和统一。,开发配置,Eclipse整合包适合供应链使用的包含最新插件的eclipse开发包插件全部采用link方式安装,更新时在devplugins目录进行对应插件的更新即可,开发配置,Eclipse整合包导通用配置文件包括formate格式化cleanup自动清理codetemplates代码模板(主要是注释)save action(保存时动作,自动格式化等)checkstyle的配置,开发配置,配置文件导入附件中的配置
3、文件,开发配置,配置文件由于checkstyle的配置无法导出到通用配置中,所以需要单独配置CheckStyle,开发配置,配置文件设置编译时自动运行findbugs和checkstyle项目右键菜单-properties,启动参数,Eclipse快捷方式启动Eclipse时很慢?启动后总是卡在初始化界面上?总是报内存溢出?Eclipse启动参数:-vm jdk目录binjavaw.exe-Vmargs-Xms256m-Xmx512m,启动参数,NC运行参数明明设置了启动参数,启动NC中间件的时候多选几个业务模块就内存溢出?客户端查询一两张单据没事,单据数量一多就内存溢出?设置Server和J
4、starterd的运行参数,指定内存大小-XX:PermSize=256m-XX:MaxPermSize=512m-Xms256m-Xmx512m,启动参数,NC运行参数,基础介绍,引子为什么XX找某个类,点一下就找到了,我却得找半天?XX调试的时候点了下哪就很方便的看到当时的变量值了?我亦无他,唯手熟尔,常用窗口,Package Explorer视图,常用窗口,Debug视图用于在工作台中管理程序的调试或运行。它可以显示每个调试目标中挂起线程的堆栈框架。,常用窗口,Variables视图显示了选中的堆栈帧中的变量值。要查看所请求的变量,只需展开 Variables 视图中的树直到看到所请求的
5、元素为止。选中变量右键Change Value选项,能够改变变量的值。,常用窗口,Breakpoints 视图列出当前设置的断点,可选择启用哪些断点或屏蔽所有已设置的断点。,常用窗口,Expressions视图在该视图设置表达式,并在当前堆栈帧的上下文中显示表达式的取值。,快捷方式,常用快捷方式F3 打开声明Alt+前一个编辑的页面Ctrl+L 定位在某行Ctrl+/注释当前行,再按则取消注释Ctrl+O 快速显示 OutLine,查看一个类的纲要,列出其方法和成员变量。Ctrl+T 快速显示当前类的继承结构,列出接口的实现类列表,快捷方式,常用快捷方式Ctrl+Shift+T 打开类型,快速
6、定位到某个类 支持*通配符。例如SaleOrder*Action类,会显示所有以SaleOrder开头,Action结尾的类。Ctrl+Shift+R 打开资源,可快速打开xml文件Ctrl+Shift+X 把当前选中的文本全部变为大写Ctrl+Shift+Y 把当前选中的文本全部变为小写,快捷方式,编辑快捷方式Alt+Shift+R 重命名(对于变量和类的Rename,比手工方法能节省很多劳动力)Alt+?上下文信息,弹出补全信息Ctrl+F 查找并替换Ctrl+Shift+O 组织导入,可快速导入引用包或去掉不存在引用的包,快捷方式,调试快捷方式F5(step into)单步执行,遇到子函
7、数就进入并且继续单步执行。F6(step over)单步跳过,在单步执行时将子函数整个执行完再停止,也就是把子函数整个作为一步。F7(step return)单步返回,单步执行到子函数内时,执行完子函数余下部分,并返回到上一层函数。,快捷方式,调试快捷方式(续)F8 继续,对于(run)型的断点,跳到下一个断点,对于变量型断点,跳到下一处改变此变量的地方。Ctrl+R 运行至,可让程序直接运行到指定行。Ctrl+Shift+I(Inspect)快速查看变量值,快捷方式,Drop to FrameDrop to Frame功能虽然不属于单步调试的核心,但是该功能非常的适用,它为调试人员提供了调试
8、回退的机会。Drop to Frame可以重新跳到当前方法的开始处重新执行,并且所有上下文变量的值也相应回到初始时刻。,调试技巧,引子问题怎么老是跟不出来,到底该怎么打断点啊?没有源码让我怎么跟啊?授之以鱼,不如授之以渔,常用断点,普通断点(Line Breakpoint)在Eclipse Java编辑区的行头双击或右键菜单选择“ToggleBreakpoint”就得到一个断点,代码运行到此处时停止。,常用断点,条件断点条件断点,顾名思义就是一个有一定条件的断点,只有满足了用户设置的条件,代码才会在运行到断点处时停止。在断点处点击鼠标右键,选择最后一个“BreakpointProperties
9、”,在弹出的断点属性界面设置条件。,常用断点,条件断点断点的属性界面及各个选项,常用断点,变量断点(Watchpoint)在变量上设置断点,当变量的值初始化或是改变时停止适用于不了解或不关心程序的运行过程,比较关注某个关键变量的变化或使用,常用断点,方法断点(Method Breakpoint)方法断点就是将断点打在方法的入口处特别之处在于它可以打在 JDK的源码里或没有源码的情况下,可以通过这种方法查看方法的调用栈。,常用断点,异常断点(Exception Breakpoint)某个特定异常发生时程序能够被中断,以便查看程序当时所处的状态设置Exception Breakpoint的方法与其
10、它类型断点都不同,点击Breakpoints视图右上角的图标。,常用断点,类加载断点(Class Load Breakpoint)当某个类被加载时,通过该断点可以中断程序,常用断点,断点位置问题爆发点必经之路工厂方法构造方法,实用技巧,快速查看VO信息在调试时可选中VO变量,点击Ctrl+Shift+I,在弹出的变量信息框中选择要查看的信息即可。,实用技巧,异常信息快速定位当系统出现异常时,会在日志中打印异常堆栈,能够通过异常信息快速定位问题出现点。,实用技巧,巧用TEST文件夹每个组件下都有TEST文件夹,当调试平台类时可把源码直接Ctrl+V到test文件夹下,会自动建立包结构。运行时会优先加载test文件夹内的平台类。,实用技巧,远程调试一个神奇的参数-agentlib:jdwp=transport=dt_socket,suspend=n,server=y,address=localhost:2199,