对于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. TypeScript学习笔记(七) - 命名空间

    本篇将介绍TypeScript的命名空间,并简单说明一下与模块的区别. 在之前的例子里,有如下一段代码,通过修改这段代码来演示命名空间的用法. interface Animal { name: str ...

  2. 基于http协议的加密传输方案

    最近公司需要通过公网与其它平台完成接口对接,但是基于开发时间和其它因素的考虑,本次对接无法采用https协议实现.既然不能用https协议,那就退而求其次采用http协议吧! 那么问题来了!在对接的过 ...

  3. mysql update 没有where 不能更新的安全保护设置

    http://www.cnblogs.com/wjoyxt/p/5620827.html    没有where 不能更新的安全保护设置 http://dev.yesky.com/429/3543292 ...

  4. TimeHelp 获取时间戳转换类

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Shar ...

  5. Android wm指令用法详解

    wm 是查看和设置显示信息的指令,此指令只能临时调试使用. wm:查看 wm 指令信息 $ adb shell root@rk3288:/ # wm wm usage: wm [subcommand] ...

  6. /etc/sysctl.conf参数解释(转)

    来自<深入理解Nginx模块开发与架构解析> P9 #表示进程(例如一个worker进程)可能同时打开的最大句柄数,直接限制最大并发连接数fs.file max = 999999 #1代表 ...

  7. ASI接口

    Asynchronous Serial Interface ,异步串行接口,用于传送码流的一个标准DVB接口. 在目前的DVB-C系统设备的传输接口有两种MPEG2视频码流传输接口标准:异步串行接口A ...

  8. generatorConfig.xml

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration ...

  9. HDU 1969 Pie(二分,注意精度)

    Pie Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...

  10. [转]Explorer.exe的命令行参数

    本文来自:Explorer.exe的命令行参数 摘要 本文讲述explorer.exe(资源管理器)的命令行. 语法 EXPLORER.EXE [/n][/e][,/root,<object&g ...