Eclipse调试Java的技巧和常用快捷方式修订历史记录章节修订说明修订日期修订钱版本号修订后版本号修改人审批人全文初始创建2014-11-20N/A1.0陈烨龙目录修订历史记录...................................................................................................................................11、条件断点.....................................................................................................................................32、异常断点.....................................................................................................................................33、观察点.........................................................................................................................................44、查看变量.....................................................................................................................................45、改变变量值.................................................................................................................................56、在Main方法中停止..................................................................................................................57、环境变量.....................................................................................................................................68、Droptoframe..............................................................................................................................79、Step过滤...................................................................................................................................810、进入、跳过、返回...................................................................................................................911、eclipse相应的快捷键............................................................................................................101、条件断点想象一下我们平时如何添加断点,通常的做法是双击行号的左边。在debug视图中,BreakPointView将所有断点都列出来,但是我们可以添加一个boolean类型的条件来决定断点是否被跳过。如果条件为真,在断点处程序将停止,否则断点被跳过,程序继续执行。2、异常断点在断点view中有一个看起来像J!的按钮,我们可以使用它添加一个基于异常的断点,例如我们希望当NullPointerException抛出的时候程序暂停,我们可以这样:3、观察点这个特性我非常喜欢,他允许当一个选定的属性被访问或者被更改的时候程序执行暂停,并进行debug。最简单的办法是在类中声明成员变量的语句行号左边双击,就可以加入一个观察点。4、查看变量在选中的变量上使用Ctrl+Shift+d或者Ctrl+Shift+i可以查看变量值,另外我们还可以在ExpressionsView中添加监视。5、改变变量值我们可以在Debug的时候改变其中变量的值。在VariablesView中可以按下图所示操作。6、在Main方法中停止在Run/Debug设置中,我们可以按如下图所示的启用这个特性。程序将会在main方法的第一行停住7、环境变量我们可以很方便的在EditConriguration对话框中添加环境变量8、Droptoframe这个功能非常酷,是我第二个非常喜欢的功能,Droptoframe就是说,可以重新跳到当前方法的开始处重新执行,并且所有上下文变量的值也回到那个时候。不一定是当前方法,可以点击当前调用栈中的任何一个frame跳到那里(除了最开始的那个frame)。主要用途是所有变量状态快速恢复到方法开始时候的样子重新执行一遍,即可以一遍又一遍地在那个你关注的上下文中进行多次调试(结合改变变量值等其它功能),而不用重来一遍调试到哪里了。当然,原来执行过程中产生的副作用是不可逆的(比如你往数据库中插入了一条记录)。9、Step过滤当我们在调试的时候摁F5将进入方法的内部,但这有个缺点有的时候可能会进入到一些库的内部(例如JDK),可能并不是我们想要的,我们可以在Preferences中添加一个过滤器,排除指定的包。10、进入、跳过、返回其实这个技巧是debug最基本的知识。F5-StepInto:移动到下一步,如果当前的行是一个方法调用,将进入这个方法的第一行。(可以通过第九条来排除)F6-StepOver:移动到下一行。如果当前行有方法调用,这个方法将被执行完毕返回,然后到下一行。F7-StepReturn:继续执行当前方法,当当前方法执行完毕的时候,控制将转到当前方法被调用的行。F8-移动到下一个断点处。11、eclipse相应的快捷键自定义快捷键方式:window菜单-preferences子菜单-general-keys你可以修改快捷键常用快捷键:保存Ctrl+S刷新F5关闭Ctrl+W属性Alt+EnterFormatCtrl+Shift+F删除行Ctrl+D在当前行上面插入行Ctrl+Shift+Enter在当前行下面插入行Shift+Enter更改为大写Ctrl+Shift+X更改为小写Ctrl+Shift+Y选择行末Shift+End将活动视图或编辑器最大化Ctrl+M复制Ctrl+C撤销Ctrl+Z查找并替换Ctrl+F粘贴Ctrl+V单步跳入F5单步跳过F6剪切Ctrl+X复制行Ctrl+Alt+向下键重复行Ctrl+Alt+向上键选择行首Shift+HomeShowInSpringBeansViewCtrl+Alt+VZoomInCtrl+=ZoomOutCtrl+-关闭用户帮助托盘Ctrl+F4关闭用户帮助托盘Ctrl+W在工作空间中查找文本Ctrl+Alt+G工作空间中的声明Ctrl+G工作空间中的引用Ctrl+Shift+G打开“搜索”对话框Ctrl+H显示“文件中的出现位置”快速菜单Ctrl+Shift+U“新建”菜单Alt+Shift+NOpenJavaTypeCtrl+Alt+T全部保存Ctrl+Shift+S全部关闭Ctrl+Shift+F4全部关闭Ctrl+Shift+W关闭Ctrl+F4打印Ctrl+P新建Ctrl+N重命名F2JumptoJavaAlt+F8JumptoSpecificationAlt+F7JumptoSpecificationAlt+F7JumptoTemplateAlt+F6JumptoTemplateAlt+F6NextAttributeCtrl+Alt+右箭头NextTagCtrl+Alt+向下键OpenDeclarationF3OpenStructureCtrl+F3PreviousAttributeCtrl+Alt+左箭头PreviousTagCtrl+Alt+向上键ShowOutlineCtrl+O上一个词语Ctrl+左箭头上滚行Ctrl+向上键下一个词语Ctrl+右箭头下滚行Ctrl+向下键全部展开Ctrl+Numpad_Multiply(小键盘的*号)全部折叠Ctrl+Shift+Numpad_Divide(小键盘的/号)切换折叠Ctrl+Numpad_Divide删除上一个词语Ctrl+Backspace删除下一个词语Ctrl+Delete删除至行末Ctrl+Shift+Delete复位结构Ctrl+Shift+Numpad_Multiply将行上移Alt+向上键将行下移Alt+向下键展开Ctrl+Numpad_Add折叠Ctrl+Numpad_Subtract改写切换Insert文本开头Ctrl+Home文本末尾Ctrl+End行末End行首Home选择上一个词语Ctrl+Shift+左箭头选择下一个词语Ctrl+Shift+右箭头Java包资源管理器Alt+Shift+Q,PJava声明Alt+Shift+Q,DJava类型层次结构Alt+Shift+Q,TJavadocAlt+Shift+Q,J变量Alt+Shift+Q,V同步Alt+Shift+Q,Y备忘单Alt+Shift+Q,H控制台Alt+Shift+Q,C搜索Alt+Shift+Q,S断点Alt+Shift+Q,B显示视图(查看:大纲)Alt+Shift+Q,O显示视图Alt+Shift+Q,Q显示视图(查看:问题)Alt+Shift+Q,X“显示位置”菜单Alt+Shift+W上一个编辑位置Ctrl+Q上一项Ctrl+下一项Ctrl+.前移历史记录Alt+右箭头后退历史记录Alt+左箭头在层次结构中打开类型Ctrl+Shift+H快速大纲Ctrl+O快速层次结构Ctrl+T打开声明F3打开外部JavadocShift+F2打开类型Ctrl+Shift+T打开类型层次结构F4打开结构Ctrl+F3打开调用层次结构Ctrl+Alt+H打开资源Ctrl+Shift+R转至上一个成员Ctrl+Shift+向上键转至下一个成员Ctrl+Shift+向下键转至匹配的方括号Ctrl+Shift+P转至行Ctrl+L切换Ant标记出现Alt+Shift+O切换标记出现Alt+Shift+O切换注释Ctrl+/切换注释Ctrl+7切换注释Ctrl+Shift+C包围方式快速菜单Alt+Shift+Z在文件中重命名Alt+Shift+R快速辅助-在文件中重命名Ctrl+2,R快速辅助-指定给字段Ctrl+2,F快速辅助-指定给局部变量Ctrl+2,L打开外部文档Shift+F2显示工具提示描述F2显示源代码快速菜单Alt+Shift+S格式化Ctrl+Shift+F添加Javadoc注释Alt+Shift+J添加块注释Ctrl+Shift+/添加导入Ctrl+Shift+M组织导入Ctrl+Shift+O缩进行Ctrl+I除去出现注释Alt+Shift+U除去块注释Ctrl+Shift+\上一个编辑器Ctrl+Shift