how2j.cn

步骤 1 : 动态Web项目   
步骤 2 : 下载j2ee项目   
步骤 3 : 设置断点   
步骤 4 : 点击调试按钮   
步骤 5 : 确认切换到调试Perspective   
步骤 6 : 调试Perspective   
步骤 7 : 单步运行   
步骤 8 : 退出   

本教材讲解如何对在Eclipse中运行的Tomcat进行单步调试。
要通过Eclipse内置Tomcat运行一个项目,这个项目需要是一个动态Web项目。
对动态Web项目不熟悉的同学,请先掌握 创建
这个项目使用 创建 中右上角的j2ee.rar 项目来进行演示,请前往下载: 创建
下载j2ee项目
打开文件 HelloServlet 对第13行进行断点设置.
断点概念: 断点就是指在调试模式下,当代码运行到断点这个位置的时候,就会停下来,便于开发者观察相关数据,进行代码逻辑的分析,排错。

设置断点有几种方式,比如要在第13行设置断点
1. 在行号13那个位置,右键点击鼠标,然后选择Toggle Breakpoint就可以添加或者删除断点了
2. 在行号13那个位置, 双击鼠标左键也可以添加或者删除断点。
3. 菜单->Run也可以,不常用,没有鼠标方便。
设置断点
步骤 4 :

点击调试按钮

edit
在平时用运行按钮左边, 有个虫子按钮,就是debug按钮。
点击按钮旁边的向下箭头,然后点击出现的 Tomcat v7.0 Server at localhost
点击调试按钮
步骤 5 :

确认切换到调试Perspective

edit
如果是第一次运行,会弹出一个对话框询问是否要切换到调试视觉, 点击YES。
确认切换到调试Perspective
步骤 6 :

调试Perspective

edit
在调试视觉,需要关注的是这么4个区域
1. 当前是哪个线程,Tomcat里有个线程池,所以会有多个线程,而当前线程是 :http-bio-8080=exec-3。
2. 对第13行运行有影响的几个变量的值,比如request和response对象。
3. 当前代码,表示马上就要运行第13行,但是还没有来得及运行第13行
4. 控制台输出

其他还有些区域,不常用
调试Perspective
点击这个按钮,就可以一行一行的执行了,或者用快捷键F6
单步运行
点击红色按钮退出
退出


HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。


问答区域    
2018-12-25 远程调试也可以讲下
CL0724

远程调试也可以讲下







回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到




2017-11-22 只能从当前的Servlet开始调试吗?
薄年

我的意思是,如果需要从别的jsp页面传入参数,到该servlet,也能从该servlet开始调试吗?我怎么觉得逻辑不太对,而且也运行不了,直接报错了。




3 个答案

YuanRuofei
答案时间:2018-07-22
servlet中处理 1 接受参数 2 处理业务 3 分发转向

薄年
答案时间:2017-11-28
感谢哈,明白了

HOW2J丶User
答案时间:2017-11-24
断点设置好了之后,你运行代码,程序只会在设置断点的地方进行进入调试。如果你在断点之前就发生了不可继续运行的错误或者根本不能执行断点处代码的时候,是不会进入你的断点调试的。



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到








提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
关于 工具和中间件-调试-Web应用Debug 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 578362961
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: https://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图