对于eclipse或myeclipse调试J2SE项目或小应用进行断点调试,大家都不陌生,只要设置断点,debug运行就OK了。但是如果是web项目,而项目是在容器中运行的,比如tomcat,resin等,有些同学就不懂怎么断点调试了,只能采取本办法,就是采用System.out.println()的打印方式了,这很不好,而且浪费很多时间。下面总结了下myeclipse下断点调试web项目的方法。

准备

环境:windXP,JDK1.6,Myeclipse10.7,tomcat6.0.37

myeclipse下建立web项目servlettest,然后创建一个TestServelet.Java,由于用于测试,不对自动生成的代码做修改了。

对TestServlet.java设置一个断点

看下web.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app version="3.0"
  3. xmlns="http://java.sun.com/xml/ns/javaee"
  4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
  6. http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
  7. <display-name></display-name>
  8. <servlet>
  9. <description>This is the description of my J2EE component</description>
  10. <display-name>This is the display name of my J2EE component</display-name>
  11. <servlet-name>TestServlet</servlet-name>
  12. <servlet-class>com.fei.servlet.TestServlet</servlet-class>
  13. </servlet>
  14. <servlet-mapping>
  15. <servlet-name>TestServlet</servlet-name>
  16. <url-pattern>/servlet/TestServlet</url-pattern>
  17. </servlet-mapping>
  18. <welcome-file-list>
  19. <welcome-file>index.jsp</welcome-file>
  20. </welcome-file-list>
  21. </web-app>

好了准备工作完毕。

本地调试

本地调试就是myeclipse中设置要启动的tomcat,并已debug mode模式启动。这很简单,不需要做额外工作。

1.设置tomcat

window->preferences->Myeclipse->servers->tomcat

设置启动模式

部署项目

启动服务

浏览器输入地址:http://localhost:8080/servlettest/servlet/TestServlet

myeclipse切换到调试视图,这里大家都不陌生了。

远程调试

远程调试,是相对于myeclipse来说的,就是tomcat不是myeclipse中启动的,而是再外部自己启动,或者tomcat在另一台服务器上运行,不和myeclipse同一台电脑。在上面的本地调试中,其实最重要的是tomcat的启动模式设置为debug mode,所以对于远程调试来说也是,tomcat必须是以debug mode的模式来启动,然后myeclipse和tomcat设置连接。

打开tomcat的bin目录,找到catalina.bat及startup.bat复制一份,命名为catalina_debug.bat,startup_debug.bat。

打开startup_debug.bat,在set "CURRENT_DIR=%cd%"这句话前面加上:

set JPDA_ADDRESS=8000
set JPDA_TRANSPORT=dt_socket
set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000

上面的调试监听端口8000可以更换成未被使用的端口

如图所示:

同时将文中的catalina.bat替换成catalina_debug.bat。

打开catalina_debug.bat,在set "CURRENT_DIR=%cd%"前加上

SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1861

双击startup_debug.bat启动tomcat。

myeclipse的配置。

右键点击项目,按下图所示操作

检查是否在监听,打开debug视图

浏览器输入地址:http://localhost:8080/servlettest/servlet/TestServlet

可以正常断点调试了!!!

myeclipse下对tomcat项目进行debug断点调试的更多相关文章

  1. MyEclipse下创建的项目导入到Eclipse中详细的图文配置方法

    一.情景再现. 有些人比较喜欢用Myeclipse开发,有些人却比较喜欢用eclipse开发.但是其中有一个问题,Myeclipse里面的项目导入的时候出现了一个小小的问题. 如下: 二.说明问题 导 ...

  2. MyEclipse下创建的项目 导入eclipse

    1.导入在MyEclipse下创建的项目 2.把项目变成Web项目,在项目上右键-->Properties-->选择Project Facets-->点击Convert to fac ...

  3. Eclipse和MyEclipse使用技巧--MyEclipse下创建的项目导入到Eclipse中详细的图文配置方法

    一.情景再现. 有些人比较喜欢用Myeclipse开发,有些人却比较喜欢用eclipse开发.但是其中有一个问题,Myeclipse里面的项目导入的时候出现了一个小小的问题. 如下: 二.说明问题 导 ...

  4. Linux下启动Tomcat项目

    在Linux下启动Tomcat项目方法:将war包放进Tomcat的wabapp目录下,进入tomcat目中的bin目录中,运行命令./startup.sh 回车就可以了

  5. debug断点调试

    debug断点调试  1,虫子启动2,F6   执行断点的下一步,下一个语句     F5    进入方法     F8   执行到结束    查看表达式的值:选中查看的表达式,接着按   ctrl ...

  6. (转)Intellij IDEA 2017 debug断点调试技巧与总结详解篇

    背景:详细介绍idea的debug调试过程 Intellij IDEA 2017 debug断点调试技巧与总结详解篇

  7. Intellij IDEA 2017 debug断点调试技巧与总结详解篇

    转载自csdn----------------------------------------------------------------------https://blog.csdn.net/q ...

  8. 解决Eclipse Debug 断点调试的source not found问题

    写完代码进行调试的时候,经常会用到断点调试,一步步检测问题,但有时候eclipse有时候无法进入断点,这样就失去了断点的意义,原因是debug无法找到该项目的源代码,解决方法如下 1,打开debug ...

  9. 关于Eclipse Debug断点调试出现 Search not found 页面的解决办法

    1. 在代码中鼠标右键 Debug AS ---> Debug Configurations... ----> 找到Source选项  ---> 点击add ---> 选择 j ...

随机推荐

  1. hadoop之 Hadoop1.x和Hadoop2.x构成对比

      Hadoop1.x构成: HDFS.MapReduce(资源管理和任务调度):运行时环境为JobTracker和TaskTracker: Hadoop2.0构成:HDFS.MapReduce/其他 ...

  2. 基于Tomcat 的WEB Project存在的安全漏洞总结

    1 检查工具:Acunetix Web Vulnerability Scanner V9破解版 2 检查漏洞说明结果显示: 2.1 HTML Form Without CSRF Protection ...

  3. CenOS中的yum配置文件CentOS-Base.repo里面的参数都是何含义? souhu CentOS-Base.repo

    souhu  yum服务器CentOS-Base.repo 将$releasever替换为操作系统版本号 # CentOS-Base.repo # # The mirror system uses t ...

  4. Python yield详解***

    yield的英文单词意思是生产,有时候感到非常困惑,一直没弄明白yield的用法. 只是粗略的知道yield可以用来为一个函数返回值塞数据,比如下面的例子: def addlist(alist): f ...

  5. mysql master or master copy

    双主复制: 在两台server配置my.cnf [root@localhost mysql]# egrep -v "^$|^#" /etc/my.cnf datadir = /my ...

  6. jmeter 目录内容分布

    /bin 目录(常用文件介绍) examples:目录下包含Jmeter使用实例 ApacheJMeter.jar:JMeter源码包 jmeter.bat:windows下启动文件 jmeter.s ...

  7. ueditor上传图片时目录创建失败的问题解决方法,不用那么麻烦,其实修改php/config.json这个配置文件里面的路径就行!!

    ueditor的真实上传路径提示出来,我进行了如下步骤: 找到了编辑器的上传处理类 Uploader.class.php,大约110行的位置找到了上传失败的提示位置, 将 $this->stat ...

  8. nginx收到空包问题

    tcpdump有收包,但是nginx的access.log显示post数据为空 可以通过tcpdump监控端口 http://www.cnblogs.com/linn/p/4792468.html 修 ...

  9. leetcode9

    public class Solution { public bool IsPalindrome(int x) { ) { return false; } var str = x.ToString() ...

  10. 1 数据库开发--MySQL介绍

    1.数据库管理软件 C/S 并发.锁 :SQL语句.语法 基本管理和语法学习 一.介绍: mysql数据库管理软件: 套接字:服务端,客户端:客户端可访问服务端得数据 1.支持并发:操作得是共享得数据 ...