精华内容
下载资源
问答
  • 一直想分享一下,因为有些同事用MyEclipse其实就是因为可以拿它来debug部署在tomcat上的应用。 myeclipse只不过是作了两个小动作: 1)用启用JPDA参数的模式启动tomcat,以提供debug支持; 2)启动了一个

    第一篇文章。原文:http://blog.sina.com.cn/s/blog_50197c290100gbop.html


    一直想分享一下,因为有些同事用MyEclipse其实就是因为可以拿它来debug部署在tomcat上的应用。

    myeclipse只不过是作了两个小动作:

    1)用启用JPDA参数的模式启动了tomcat,以提供debug支持;

    2)启动了一个Eclipse的RemoteJavaApplication;

     

    这些通过tomcat和eclipse就可以做到。我简要说明一下。

    配置tomcat的JPDA参数:

    如果Tomcat使用的是JDK 1.5以上版本,那么JPDA可以使用JVMDI,配置方法为:

    在tomcat的bin/catalina.bat文件中一开始加入:
    set JPDA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=localhost:8000

    如果是Mac OS X或是Linux,则在bin/catalina.sh文件中一开始加入:
    export JPDA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=localhost:8000
    其中address中的端口不一定非用8000哦,也可以换成其他端口。

    如果使用的是JDK 1.4,那么只能使用JVMPI了,见后面的说明。
    实际debug:

    配置好JPDA参数后,按以下顺序即可debug了:
    1)先以Debug模式启动tomcat;

    即:在命令行下,进入tomcat的bin目录,执行catalina jpda start(会打开新窗口)或者catalina jpda run命令(在当前窗口,和catalina run类似);
    2)再在eclipse中运行相应的Remote Java Application;

    第一次运行时,需要先建立这个Remote Java Application. 方法为打开"Debug"->"Open Debug Dialog",新建一个Remote Java Application, 给个合适的名字,Connection Type选择"Standard(Socket Attach)", Host和端口指定为localhost:8000(和上面tomcat中配置的端口一致),如下图示:

    3)根据需要在java/jsp中设置断点,跟踪调试了;(和您熟悉的MyEclipse下一样)



    另一篇文章:http://avar.iteye.com/blog/163767 



    在做远程调试时,在windows系统和非windows系统下的配置,Tomcat中会有所差别,具体如下:

    第一步、配置tomcat
    一、在windows系统中:
    打开%CATALINE_HOME%/bin下的文件catalina.bat,加入下面这行:
    set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8787

    其中address=8787是没被使用的端口号。连接方式有两种,为dt_shmem和dt_socket,分别表示本机调试和远程调试。

    二、在非windows系统中:
    还需要把% CATALINE_HOME %/bin/startup.sh中的最后一行exec "$PRGDIR"/"$EXECUTABLE" start "$@" 中的start改成jpda start。由于默认的端口是8000,所以如果8000端口已有他用的话,还需在catalina.sh文件中设置:JPDA_ADDRESS=8787。
    输入命令startup.sh或者catalina.sh jpda start就可启动tomcat。

    第二步、配置eclipse
    在Eclipse中选择RunDebug,在弹出的对话框中右击Remote Java Application新建一个远程调试项,如下如所示:



    在“Name”输入框中输入远程调试的名称,在“Project”中选择要调试的项目,在“Host”中输入需要远程调试项目的IP,也就是tomcat所在的IP,在“Port”中输入设置的端口号,比如上面设置的8787,然后钩选“Allow termination of remote VM”,点击“Apply”即可。
    设置完后就可以开始调试了,大概分一下几步:
    1、启动tomcat(远程),如在控制台输出“Listening for transport dt_socket at address: 8787”,即说明在tomcat中设置成功;
    2、在本机设置断点,即在需要监视的代码行前双击就会出现一个小圆点;
    3、进入上图界面,选择要调试的项,点击“Debug”即可进行远程调试;
    4、当运行到设置了断点的代码行处即可看到如下图所示的浅绿条。


    按键操作:
    1、F5键与F6键均为单步调试,F5是进入本行代码中执行,F6是执行本行代码,跳到下一行;
    2、F7是跳出函数;
    3、F8是执行到最后。


    当然,为了方便,可以新建一个批处理文件,假如取名为debug.bat,在这个文件中加入下面几行:

    cd %CATALINE_HOME%/bin
    set JPDA_ADDRESS=8787
    set JPDA_TRANSPORT=dt_socket
    set CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8787
    startup

    这样需要远程调试时,运行debug.bat即可;不需要远程调试时,还是运行startup.bat文件。


    展开全文
  • tomcat如何正确开启远程调试功能

    千次阅读 2020-02-16 19:23:39
    在日常开发中,有时需要对远程服务器上的应用进行远程调试,对于tomcat,要进行远程调试其实很简单,只需要在启动tomcat时开启jpda服务即可。 什么是JPDA呢? JPDA(Java Platform Debugger Architecture) 是 Java ...

    在日常开发中,有时需要对远程服务器上的应用进行远程调试,对于tomcat,要进行远程调试其实很简单,只需要在启动tomcat时开启jpda服务即可。

    什么是JPDA呢?

    JPDA(Java Platform Debugger Architecture) 是 Java 平台调试体系结构的缩写,通过 JPDA 提供的 API,开发人员可以方便灵活的搭建 Java 调试应用程序。JPDA 主要由三个部分组成:Java 虚拟机工具接口(JVMTI),Java 调试线协议(JDWP),以及 Java 调试接口(JDI)。而像Eclipse和IDEA这种开发工具提供的图形界面的调试工具,其实就是实现了JDI。关于JPDA的详细信息,可以查看developerWorks上的系列文章——深入Java调试体系

    tomcat使用如下方式进行启动jpda:

    ./catalina.sh jpda start

    默认情况下,远程调试的默认端口为8000,可以通过JPDA_ADDRESS进行配置,指定自定义的端口,另外,还有两个可以配置的参数
    JPDA_TRANSPORT:即调试器和虚拟机之间数据的传输方式,默认值是dt_socket
    JPDA_SUSPEND:即JVM启动后是否立即挂起,默认是n
    可以在catalina.sh中进行配置:

    JPDA_TRANSPORT=dt_socket
    JPDA_ADDRESS=5005
    JPAD_SUSPEND=n

    或者通过JPDA_OPTS进行配置:

    JPDA_OPTS='-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005’

    这样启动之后 ,就可以通过Eclise或IDEA进行远程调试了,IDEA具体如何进行远程调试,请参考另一篇文章。
    网上有很多文章提供了另一种开启远程调试功能的方式,即通过JAVA_OPTS指定相应的JPDA参数:

    JAVA_OPTS="$JAVA_OPTS -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005”

    使用这种方式开启远程调试功能,在启动时没有什么问题,也能够正常的进行远程调试,但是在停止tomcat时:

    ./catalina.sh stop

    会出现如下错误:

    ERROR: transport error 202: bind failed: Address already in use
    ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
    JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [debugInit.c:750]
    FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)

    导致不能正常终止java进程,需要手动的kill掉,所以还是应该使用前面的方式开启远程调试功能。

    展开全文
  • cd … 表示回退到一级目录 ls 表示查看当前目录下的所有文件 我们的tomcat安装路径在usr\local\yzmis\下面找 例如你要关闭信誉质量考核系统所在的tomcat,你要进入test下去找到apache-tomcat-6.0.14 再进入bin...

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    cd … 表示回退到上一级目录
    ls 表示查看当前目录下的所有文件
    我们的tomcat安装路径在usr\local\yzmis\下面找
    在这里插入图片描述
    例如你要关闭信誉质量考核系统所在的tomcat,你要进入test下去找到apache-tomcat-6.0.14

    在这里插入图片描述
    在这里插入图片描述
    再进入bin目录下,然后执行[tr@server100 bin]$ ./shutdown.sh就关闭掉tomcat了,注意的是必须在执行的shutdown.sh前面加上./才可以

    如果要查看后台日志则进入logs目录下,再执行tail -f catalina.out或者 tail -fn200 catalina.out

    参考百度问答
    在这里插入图片描述

    部署在tomcat的应用目录:工程名\context\WEB-INF\

    展开全文
  • 想要在 Intellij IDEA 中远程调试运行在 Tomcat 上的应用,只需要完成以下两步操作: 启用 Tomcat远程调试功能,然后启动 Tomcat; 在 Intellij IDEA 中添加远程调试配置项,然后开始远程调试。 下面将分别阐述...

    想要在 Intellij IDEA 中远程调试运行在 Tomcat 上的应用,只需要完成以下两步操作:

    1. 启用 Tomcat 的远程调试功能,然后启动 Tomcat;
    2. 在 Intellij IDEA 中添加远程调试配置项,然后开始远程调试。

    下面将分别阐述如何完成上述操作。

    1. 启用 Tomcat 的远程调试功能

    Tomcat 的远程调试功能,可以通过添加相应的虚拟机启动参数来启用,而声明环境变量通常是我们用来为虚拟机添加启动参数的主要方式。
    在这里我们有三个环境变量可供选择,他们分别是:

    1. JPDA_OPTS
    2. CATALINA_OPTS
    3. JAVA_OPTS

    JPDA_OPTS

    在 Tomcat 的安装目录下(以下简称 CATALINA_HOME),找到 bin 目录,并在该目录下新建名为 setenv.sh 的脚本文件(在 Windows 平台下,文件后缀名应该是 .bat)。如果该文件已经存在,则可以跳过这一步。
    编辑 setenv.sh 文件,加入以下内容:

    export JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"

    如果是在 Windows 平台,则加入以下内容:

    set "JPDA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"

    然后使用命令 catalina.sh jpda start(Windows 平台,命令为 catalina.bat jpda start)启动 Tomcat。

    CATALINA_OPTS 或 JAVA_OPTS

    使用 CATALINA_OPTSJAVA_OPTS,与 JPDA_OPTS 的唯一不同在于,使用命令 catalina.sh start(Windows 平台,命令为 catalina.bat start)来启动 Tomcat。

    2. 在 Intellij IDEA 中添加远程调试配置项

    点击 Run→Edit Configurations 选项
    1720684-20190623220125174-229417206.png
    点击左上角的 + 按钮,选择 Remote 选项
    1720684-20190623220310757-1958296584.png
    在右侧编辑栏中,填写对应的远程 IP 地址和端口号
    1720684-20190623220621690-621325768.png
    点击 OK 按钮,保存配置项信息。
    点击 Run→Debug,选择上面的配置项,就可以开始远程调试了。
    1720684-20190623221201670-333830509.png

    转载于:https://www.cnblogs.com/dlzer/p/how-to-remotely-debug-application-running-on-tomcat-from-within-intellij-idea.html

    展开全文
  • 版权声明:本文为博主...在日常开发中,有时需要对远程服务器上的应用进行远程调试,对于tomcat,要进行远程调试其实很简单,只需要在启动tomcat时开启jpda服务即可。 什么是JPDA呢? JPDA(JavaPlatform Deb...
  • IDEA远程调试Tomcat程序

    2019-10-07 17:13:10
    基本就是在服务端先设置Tomcat服务器启动脚本catalina.bat,然后在客户端IDEA进行参数配置,最后二者可以通过Socket进行通信。 转载于:https://www.cnblogs.com/ioveNature/p/8687975.html...
  • Eclipse远程调试Tomcat

    2016-08-20 18:47:13
    有时候服务器可能并不是部署在本地,而是部署在远程其他机器,我们用eclispe该如何进行debug调试呢? 在网上查了下资料,把关键点记录下来方便以后查看。 修改tomcat的启动脚本startup.bat,找到call &...
  • 昨晚由于时间关系,只写了如何获取root权限,由于第一次写博客,稍不留神,复制照片竟然没有显示进去,请大家原谅,今天接着来写如何在腾讯云服务器配置JDK环境变量 1.首先大家需将已经下载好JDK上传到自己...
  • 以编程方式连接JMX代理    在探讨如何用MC4J监测Tomcat 之前,我们先简略地看一个通过远程JMX API... 这个JMX远程客户端示例被称为RemoteJMXClient,基本是一个独立、起到JMX连接器作用Java应用程序...
  • ant远程重启tomcat疑问

    2009-01-13 18:06:00
    如果我要远程重启服务器的tomcat如何,请指教 [b]问题补充:[/b] 可以在一个Servlet里执行ant脚本在服务器本地执行 ----小弟用ANT不久,能否详解? [b]问题补充:[/b] 把问题补充完整哈: 1.写了个ANT实现把本地代码...
  • 在不对代码进行重新部署的前提下如何对服务器上的代码进行debug呢。 答案是:让tomcat以jpda试启动 JPDA:Java Platform Debugger Architecture是 Java 平台调试体系结构的缩写。 在tomcat中关于jpda的设置,请看...
  • 步骤:1、把要远程调试程序发布到远程服务器,放到tomcat的webapps目录下。2、修改tomcat启动文件。(这也是最关键一步,本人就曾经在这里纠结很久。)修改方式一:(1)找到tomcat的bin目录,如下图: (2)...
  • eclipse开发,有时我们需要使用tomcat的远程调试功能,但是发现无论如何,都是启动远程调试失败。原因之一,就有可能是服务器出了些幺蛾子,如有些阿里云服务器就存在这个问题。故我们可以使用通道方式连接到...
  • eclipse开发,有时我们需要使用tomcat的远程调试功能,但是发现无论如何,都是启动远程调试失败。原因之一,就有可能是服务器出了些幺蛾子,如有些阿里云服务器就存在这个问题。故我们可以使用通道方式连接到...
  • 1、在要调试服务A添加启动参数  -Xrunjdwp:transport=dt_socket,address=8791,server=y,suspend=n 8791为远程调试端口:端口可以设置 (1)、windows环境下tomcat设置jdk启动参数:  在catalina.bat...
  • 如何在Eclipse上调试我们在云服务器上的项目呢,下面介绍一下步骤: 1.因为root账号不支持远程调试,首先需要在linux上创建一个新的用户,然后用该用户装一个tomcat 并将项目部署上。 2.该用户的tomcat的...
  • Eclipse远程调试方法

    千次阅读 2014-09-15 17:38:01
    项目在本机运行的时候,可以很方便的跟其他系统进行联调debug。... 一、 如何进行配置 首先测试机上的tomcat启动参数新增一个配置项:-agentlib:jdwp=transport=dt_socket,address=6219,server=y,...
  • 之前对于使用域名如何访问项目很好奇,但苦于搞一个自己域名实在是太麻烦了,还需要去买,各种提交资料,等待审核,备案。。。现在手没什么项目,也什么事情,想着折腾折腾。。。 看着腾讯服务器打折,花了40块...
  • 所以服务器存在远程命令执行漏洞,攻击者可以利用PUT方法通过精心构造数据包向存在漏洞服务器里面上传jsp一句话文件,从而造成远程命令执行,getshell等。 漏洞复现过程 Kali docker 容器中启动此漏洞环境 ...
  • Idea远程调试

    2019-09-27 14:49:44
    工作中不免会遇到已部署到服务器上的项目出现问题,这时,...1.为了进行调试, 需要修改../tomcat/bin/catalina.sh文件中的tomcat启动参数, 增加下图所示的代码.address为远程调试端口,需要与现有端口冲突 -Xdeb...
  • java远程debug

    2014-08-20 10:42:54
    常常会遇到在应用部署在weblogic,tomcat,jetty等服务器下,而我们的代码却在本地,如何用本地的代码调试远程服务器上的程序呢 在web服务器上添加jvm参数,如以下是我们启动jetty服务器的参数,8000代表的是远程...
  • 灭天远程管理 v1.1.zip

    2019-07-03 16:44:43
    3.远程桌面: 和Windows系统"mstsc"基本一样,可以远程管理桌面. 4.任务管理: 可以查看正在运行程序状态,并终止已停止响应程序 5.服务管理: 启动、停止或重新启动服务. 6.系统信息: 可以查看CPU、...

空空如也

空空如也

1 2 3
收藏数 60
精华内容 24
关键字:

如何启动远程上的tomcat