Eclipse调试技巧
Eclipse调试方法入门

Eclipse调试这个教程将帮助学生获得关于调试的一些关键概念,以及如何进行一个调试这是我们所熟悉的Eclipse环境,我们从这里开始教程。
打开一个我们想进行调试的工程需要做的第一件事就是给我们的工程设置一个调试特性,点击bug图标之后的下拉三角。
弹出Debug窗口双击Jave Application,我们可以对程序创建一个Java Application型的新配置。
选择工程及主类。
点击“Apply”然后关闭。
放置断点断点起到告诉程序什么时候暂停的作用。
进入你想放置断点的代码行。
右键点击选中行前面的的兰色竖条部分。
选择toggle breakpoint。
或者双击兰色竖条。
选择toggle breakpoint. 选择Window菜单,切换到debug透视图。
这就是Debug透视图,如果你注意到,我们的代码窗口在下方。
并且上面多出了两个窗口,左边就是显示我们运行程序的窗口,以及堆栈。
右边将显示变量和表达式。
下的箭头符号,进行选择代码变为绿色,意思是这是将要执行的下一行代码。
现在我们可以执行几个操作。
其中比较基础的一个是单步操作。
如果断点标注的是一个函数调用,选择单步进入Step Into,你可以执行并进入到代码的下一行;同样的如果你想不执行方法的这一行,你可以执行“Step over”,并且不进入方法。
假设我们使用单步跳入,并且进入了一个函数调用开始调试。
这时如果我们使用一个“Step Return”,这将完成执行方法的余下部分。
你将顺利的处于方法后的将要执行的那一行代码中。
(继续)按钮。
最后,如果我们不再想进行调试,并且想要程序结束,你可以点击位于左窗口顶端的“terminate”按钮。
ECLIPSE操作技巧

ECLIPSE操作技巧Eclipse是一款广泛用于Java开发的集成开发环境(IDE),它提供了许多便捷的操作技巧,可以大大提高开发效率。
以下是一些常用的Eclipse操作技巧:1. 快速查找:可以使用快捷键Ctrl + Shift + L来查找当前代码中光标所在的方法或变量的出处。
还可以使用Ctrl + O来查找当前文件中的所有方法和变量。
此外,还可以使用Ctrl + F来进行文本查找和替换。
2. 快速打开文件:可以使用快捷键Ctrl + Shift + R来快速打开任意文件。
在打开文件的对话框中,可以使用通配符(*)来进行模糊匹配。
3. 快速跳转:可以使用快捷键Ctrl + Shift + T来快速跳转到指定的类。
此外,还可以使用Ctrl + 鼠标左键来跳转到类或方法的定义处。
4. 代码补全:可以使用快捷键Ctrl + Space来进行代码补全。
当输入一个类名或方法名时,按下Ctrl + Space会显示与之相关的建议。
5. 代码重构:可以使用快捷键Ctrl + Shift + R来进行代码重构。
例如,可以使用该快捷键将一个方法提取为一个新的方法或将一个变量提取为一个新的字段。
7. 快速修复错误:可以使用快捷键Ctrl + 1来快速修复代码中的错误。
当代码出现编译错误时,按下Ctrl + 1会显示与之相关的建议,并提供修复错误的选项。
8. 快速运行程序:可以使用快捷键Ctrl + F11来快速运行当前项目。
在运行配置中选择一个配置并按下Ctrl + F11即可运行该配置。
9.快速调试程序:可以使用快捷键F11来快速调试当前项目。
在调试配置中选择一个配置并按下F11即可开始调试。
12. 代码导航:可以使用快捷键Ctrl + E来快速导航代码。
按下Ctrl + E会显示当前文件中的所有类和方法,可以使用上下箭头键来进行选择。
13. 代码模板:可以使用快捷键Ctrl + Space来插入代码模板。
MyEclipse调试

1.在Eclipse中启动Tomcat。
2.在待调试的代码段处设置断点。
3.在浏览器中运行你的Web程序,当程序执行到设置断点处时,会自动处于等待状态。
[1]快捷键(F8)直接执行程序。
[2]快捷键(F5)单步执行程序,遇到方法时进入。
[3]快捷键(F6)单步执行程序,遇到方法时跳过。
[4]快捷键(F7)单步执行程序,从当前方法跳出。
若要改变变量的值,可以右击变量,在弹出的菜单中选择[change variable value],弹出修改画面。
改变其值后,按下ok键即可。
这时,变量的值就改为修改后的值了。
若要检查代码段是否正确,可以选择一句或一段代码,右键单击在弹出的菜单中选择Inspect项,这时,代码的执行结果就显示在Expressions窗口中。
怎么样,跟调试Swing程序一样简单吧。
在调试时出现source not find的提示信息,只要将window->preferences->tomcat->source path 中相关的工程选中即可一、第一种情况:1. F6是下一步;F5进入到方法体内;设定断点之后,点击F6(下一步),则进入图1页面2. 然后关闭Web网页,重新运行网页,则会出如下的情况,也就说第二次运行,将不能重新回到原断点,但是数据确实信息;Dug只是运行模式,与数据无关;二、第二种情况:a) 可以在Dug模式下,在Variableds模块中,修改变量的值,此时程序也将会引用;三、右键的使用:Inspct Execute Display:四、第二种情况:设定断点之后,程序运行到断点之后,我们按键F6,然后程序下一步运行;然后点击resume(重启),然后关闭网页,重新运行网页,设定新数据,然后程序将再次在原断点处停下,而不是像第一种情况那样;不同于按钮:terminate(结束);五、在我们第一次运行dug模式之后,想再次测试,则我们可以按键F8,则程序通过!如果不想程序再在原断点处停止,则将断电去掉,然后继续调试,毫不影响!不必,每次调试,都要重新启动服务器,那样太浪费时间了!。
Eclipse调试方法及log4j调试方法

PAOLO DESIGN
可以放公司标志
Log4j调试方法: 调试方法: 调试方法
6. 日志记录范围
log4j.rootLogger=info,appender1,appender2 rootLogger没有指定日志的操作范围,默认日志对所有的包操作,appender指明 输出的方式
如果只针对某些包操作,可以按如下修改: .client2 = info,appender1 表明只有在com.client2下面的包才作如上操作。
PAOLO DESIGN
可以放公司标志
设置断点 : 1. 普通断点 2. 条件断点
断点属性: 断点属性:
1.hit count 执行多少次数后暂挂 用 于循环 2.enable condition 遇到符合你输入 条件(为ture\改变时)就暂挂 3.suspend thread 多线程时暂挂此线 程 4.suspend VM 暂挂虚拟机
PAOLO DESIGN
可以放公司标志
Log4j调试方法: 调试方法: 调试方法
4. log4j.properties的使用 的使用 log4j.properties的内容显示如下: log4j.rootLogger=debug,appender1 (指明log4j中的输出级别是debug) log4j.appender.appender1=org.apache.log4j.ConsoleAppender (指明日志信息在 什么地方进行处理,这里指明是在控制台进行输出) yout=org.apache.log4j.TTCCLayout (日志文件的输出 样式)
PAOLO DESIGN
可以放公司标志
查看变量: 查看变量: Variables 视图(在 Display 窗口中)显示了选中的堆栈帧中的变量值。要查看 所请求的变量,只需展开 Variables 视图中的树直到您看到所请求的元素为止。 您也可以在 Debug 视图中单步执行代码的同时,在 Variables 视图中查看变量。
eplise使用技巧

eplise使用技巧Eclipse使用技巧Eclipse是一款非常流行的Java集成开发环境(IDE),被广泛用于Java开发。
本文将介绍一些Eclipse使用的技巧,以帮助开发人员更高效地使用这个强大的工具。
一、快捷键Eclipse提供了丰富的快捷键,可以大大提升开发效率。
以下是一些常用的快捷键:1. Ctrl + Space:代码提示,可以快速补全代码。
2. Ctrl + Shift + O:自动导入所需的类。
3. Ctrl + Shift + F:格式化代码,使其符合编码规范。
4. Ctrl + D:删除当前行。
5. Ctrl + /:注释当前行或选中的代码块。
6. Ctrl + Shift + /:块注释,将选中的代码块注释掉。
7. Ctrl + Shift + \:取消注释,取消选中代码块的注释。
8. Ctrl + Shift + R:打开资源,可以快速查找并打开项目中的文件。
9. Ctrl + Shift + T:打开类型,可以快速查找并打开Java类。
10. Ctrl + Shift + L:显示快捷键列表。
二、代码模板Eclipse提供了代码模板的功能,可以快速生成常用的代码结构。
以下是一些常用的代码模板:1. sysout:生成System.out.println()语句。
2. for:生成for循环结构。
3. if:生成if条件语句。
4. try:生成try-catch结构。
5. main:生成main方法。
三、代码导航在大型项目中,代码文件通常非常庞大,很难快速定位到目标代码。
Eclipse提供了多种代码导航的功能,可以帮助开发人员更快速地浏览和定位代码。
1. Outline视图:可以显示当前文件的结构,快速定位到类、方法和变量。
2. Ctrl + F3:打开快速导航对话框,可以输入类名、方法名或变量名来快速定位。
3. Ctrl + Shift + T:打开类型,可以快速查找并打开Java类。
Eclipse调试的10个技巧

你应该看过一些如《关于调试的N件事》这类很流行的帖子。
假设我每天花费1小时在调试我的应用程序上的话,那累积起来的话也是很大量的时间。
由于这个原因,用这些时间来重视并了解所有使我们调试更方便的功能。
那能为你省下一些时间,也将会使你的生活更安逸、轻松。
同时也表明其它关于此主题的帖子也是很有价值的。
第1条:不要调试太多一个关于调试的疯狂声明作为开头。
但它必须是要说的!尝试切分一下你那复杂的逻辑成多个独立的单元,并编写单元测试来检测你代码的正确性。
我想像如下这样的流程应该是发生得非常频繁的----一些人通过大型web应用程序点击、填写多个表单、切换到不同的页面、正在最后的页面上检测工个计算逻辑和实现这个调试视图中的大部分逻辑。
在启动你的tomcat之前总是问你自己:有没有方法使用一个单元测试来检测这些行为?你在过去这些时间可以不知道或已忘记这些,但从现在开始,我们将要关注一些eclipse的调试技巧,你会发现有大量的关于良好代码设计的好东西。
- 断点视图:条件断点如果你只对应用中的某部分感兴趣的话,这个功能非常有用。
例如,如果你要在第13次循环的时候检查程序,或者在一个抽象父类中调试某些功能,而你只关注其中一个具体的实现。
你可以在断点视图中设置条件,或者通过代码旁边的蓝色断点标记的右键菜单("Breakpoint Properties")设置。
你可以在条件代码片段为true的时候暂停程序,或者当代码片段的值改变的时候挂起程序。
- 变量视图:展示逻辑结构如果你需要在变量视图查看一个Map对象或者List对象的值,对于eclipse的默认设置,一般并不是那么容易。
假设,你使用的是HashMap,你需要点击遍历各个实体条目,并面临各种HashMap的实现细节。
但是,在变量视图上面有一个叫做“Show Logical Structure”的按钮。
它非常有用,尤其当你的对象的toString()方法所展示的信息并不友好的时候。
在Eclipse中使用debug(Eclipse调试常用技巧)

Eclipse调试常用技巧1、条件断点断点大家都比较熟悉,在Eclipse Java编辑区的行头双击就会得到一个断点,代码会运行到此处时停止。
条件断点,顾名思义就是一个有一定条件的断点,只有满足了用户设置的条件,代码才会在运行到断点处时停止。
在断点处点击鼠标右键,选择最后一个"Breakpoint Properties"断点的属性界面及各个选项的意思如下图,2、变量断点断点不仅能打在语句上,变量也可以接受断点,上图就是一个变量的打的断点,在变量的值初始化,或是变量值改变时可以停止,当然变量断点上也是可以加条件的,和上面的介绍的条件断点的设置是一样的。
3、方法断点方法断点就是将断点打在方法的入口处,方法断点的特别之处在于它可以打在JDK的源码里,由于JDK在编译时去掉了调试信息,所以普通断点是不能打到里面的,但是方法断点却可以,可以通过这种方法查看方法的调用栈。
4、改变变量值代码停在了断点处,但是传过来的值不正确,如何修改一下变量值保证代码继续走正确的流程,或是说有一个异常分支老是进不去,能不能调试时改一下条件,看一下异常分支代码是否正确?在Debug视图的Variables小窗口中,我们可以看到mDestJarName变量的值为"F:\Study\eclipsepro\JarDir\jarHelp.jar"我们可以在变量上右键,选择"Change Value..."在弹出的对话框中修改变量的值,或是在下面的值查看窗口中修改,保用Ctr+S保存后,变量值就会变成修改后的新值了。
5、重新调试这种调试的回退不是万能的,只能在当前线程的栈帧中回退,也就说最多只能退回到当前线程的调用的开始处。
回退时,请在需要回退的线程方法上点右键,选择"Drop to Frame"6、远程调试用于调试不在本机上的程序,有两种方式,1、本机作为客户端2、本机作为服务端使用远程调试的前提是服务器端和客户端的代码是一致的。
在Eclipse中进行调试

4.4 在Eclipse中进行调试(1)4.4 在Eclipse中进行调试Eclipse为调试运行中的Java应用程序提供了完善的环境。
当在主机模式下运行GWT应用程序时,Eclipse会将它作为一个Java应用程序来运行,而且开发者可以在Eclipse中调试这个GWT应用程序。
对于Ajax开发过程来说,能够调试基于浏览器的Web应用程序的确是一种巨大的进步。
本章前面,我们看到使用applicationCreator脚本和-eclipse选项来创建应用程序时,会自动地创建一个Eclipse启动配置文件。
然后,通过Eclipse就能在主机模式下用Run或Debug命令来启动该应用程序。
启动以后,主机模式浏览器仍然与Eclipse保持连通,并且能够使用Eclipse的调试命令。
首先,我们从断点讲起。
断点是指在代码中设置的一个位置,当执行到该位置时,应用程序会中断运行并将控制权转交给调试器。
这样,我们就能够观察变量的状态或者逐行地执行代码以便于分析程序流。
为了示范断点的应用,可以在HelloWorld应用程序中按钮的ClickListener.onClick方法的第一个行添加一个断点。
设置方法是在编辑器中该行的左侧边空区域单击右键,选择Toggle Breakpoint,如图4-24所示。
这时,我们能够在左侧边空区域上看到由一个蓝色圆点图标表示的断点。
而通过在该边空区域上双击同一个点可以切换断点。
现在,当调试应用程序时,Eclipse会在程序执行到断点时接管调节器。
对于HelloWorld这个例子而言,就是在单击按钮的时候程序会发生中断。
下面,单击工具栏上的Bug图标,打开Debug菜单,从中选择HelloWorld,如图4-25所示。
当在主机模式浏览器中打开HelloWorld时,单击Click Me按钮,就能够看到Eclipse显示的调试器。
此时,应该看到Eclipse处于Debug透视图模式,如图4-26所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
话说调试
•调试就是测试程序的方法
•我们以前用out.printf()方法来查看我们程序中存在的问题。
这种方法也叫调试,但太笨拙了,会累死人的!
•现在我们用eclipse可以帮我们调试,而且再也不用写什么输入语句,来一步一步的测试了。
但我们还是需要一步一步的调试程序啊,那怎么办呢??
断点简介
•程序一旦运行,就像瀑布一样一发不可收拾!我们怎么能控制它呢,李白尚曰:“抽刀断水,水更流”呢??
•别担心,有办法让它停。
•断点闪亮登场!!!!
•断点顾名思义就是能使程序断下的点,我们可以让程序在我们想让其停止的代码行停。
然后,我们可以看看其内部是什么情况,甚至可以修改已经有的属性!而且不用重新运行程序!神奇吧。
如何设置断点??
•很简单!
•方法1.直接在代码行前面双击两下,就会看见出现一个小圆点.,再次双击,断点消失。
•方法2.在代码行的前面右键,选择切换断点。
也会出现一个断点,再次选择切换断点是,断点会消失。
还可以让断点禁用
•
运行调试,查看断点
•有了断点,我们运行调试
•方法:1.右键类文件,下拉菜单中选择调试方式,选择java应用程序
•方法2. 菜单栏下选择单机小虫图标
•
演示1
断点操作
•查看断点:
•快捷键的使用:
•F6单步跳过。
•视图里面的选项介绍:
•修改断下的属性值(变量视图)
•可以输入语句查询修改属性,方法(显示视图)
•可以查看所有的断点(断点视图)
•查看表达式,变量的值(表达式视图)•演示2
应用举例
•int result=debug.getSum();
•boolean isBig=false;
•if(result>=50)//如果是这十个数相加大于50则为大,否则为小。
•{ isBig=true; }
•System.out.println("isBig="+isBig);
•getSum();//该方法返回十个整数(ram >=0&& ram <=10)//的和
我们的任务是要让程序总是输出isBig=true!!!!
修改断点
•方法1. 投机取巧
•如果我们直接修改isBig的初始值为true,那么我们不用if判断就直接完事.
•但有缺点,result<50但结果isBig却是true,矛盾了吧!!
演示3
•方法2.偷梁换柱
•如果我们修改getSum的返回值,让其大于50的话,经过if的判断,那么我们的结果肯定是true。
•哈哈,这样的话,没问题了吧。
•错!还有问题,ram的值还是没改变啊,我需要连同ram一起改了才能天衣无缝啊!!
演示4
F5快捷键应用
•那就要用到快捷键(F5)的单步跳入的功能了。
•跳到方法体里面去改!!杀入老窝。
够狠把。
•方法3步步为营
•程序走到int result=debug.getSum();时,我们按下F5,程序就会进入getSum()方法里面了。
我们可以看到里面asm的值了,
看到了小的值就修改吧。
•一路按下F6,见到小于50的就改成大于50的。
这样的一路狂改,isBig想false都难了!不过我们也累的够呛,有没有更好的方法呢,嘿嘿,必须的!!
演示5
条件断点上场
•我们可以让断点智能些,我们可以告诉断点,什么时候自动的停,省的我们一遍一遍的按F6,F5.
•这就是条件断点的作用了。
我们来更好的解决isBig的问题
•方法4,投机取巧(升级智能版)
•告诉断点,当isBig为false时,你就停下,我要作下弊。
如果为true,你就直接放行,别烦我了。
•但是,这种方法和方法1一样,
ram=result<50但结果isBig却是true,两个矛盾哎。
再想想把。
演示6
•方法5 偷梁换柱(升级智能版)
•我们可以下result的条件断点,当result<50是,我们就断下了,作下弊修改reslut,然后结果肯定就是true了。
•矛盾减少了一个,但asm相加还可能小于50啊!!
•看样必须又要杀入老窝了!放心吧,这次我们不会那么费劲了!!
演示7
F8快捷键
•方法6 步步为营(升级智能版)
把asm变量设成断点,只需按一下F8快捷键。
当asm随机生成的数小于50时,自动断下来。
我们修改成成较大的即可!
•这下我们不用一路按F5,F6了,只需要按F8,程序会自动执行,满足条件是才会停下。
省事多了吧.
演示8
JSP页面断点调试演示
•jsp调试跟Java项目调试差不多,
•注意:
•1.断点只能下在有jsp代码的行,html代码不能下断点。
•2.jsp调试时要开服务器,且在eclipse web Browser下调试。
•当你打开的某个jsp页面有断点时,满足断点情况,就会自动断下来。
同样可以执行以前的那些操作!!
演示9
断点的其它应用
•断点的类型还有异常断点
•当程序遇到异常时,会停在异常出现的代
码处。
•自己可以查阅相关资料。
•大学是教你如何学知识的,不是像高中那样,老师教你什么你会什么就可以了,师傅领进门,修行看个人!朋友们,努力吧!
•public class Debug {
•int getSum()//该方法返回十个整数(ram >=0&& ram <=10)的和•{
•
•int sum=0;
•for(int i=0;i<10;i++)
•{
•int ram=(int) (Math.random()*11);
•sum=sum+ram;
•System.out.print(" ram="+ram);
•}
•return sum;
•}
•public static void main(String[] args) {
•Debug debug=new Debug();
•int result=debug.getSum();
•
•boolean isBig=false;
•if(result>=50)//如果是这十个数相加大于50则为大,否则为小。
•{isBig=true;}•System.out.println("\n reslut="+result);
•System.out.println("isBig="+isBig);
•
•}
•}附带程序!!。