一、修改 tomcat 配置,启动远程调试

Linux(bin\catalina.sh)

# 将 localhost 改为 0.0.0.0
if [ -z "$JPDA_ADDRESS" ]; then
JPDA_ADDRESS="0.0.0.0:8000" # 启动调试
bin/catalina.sh jpda start

Windows(bin\catalina.bat)

按照 Linux 方式修改似乎不起效果。

# 设置变量
set JPDA_ADDRESS=8000
set JPDA_TRANSPORT=dt_socket
# 启动调试
bin/catalina.bat jpda start

二、IDEA 设置

添加远程调试配置,选 Remote,不是 Tomcat server 下的 Remote。

配置下远程地址、端口和要调试的项目

启动调试(IDEA 不会把本地项目发布到 Tomcat 上,需要手动发布,调试时需要保证本地代码与远程 Tomcat 中的一致)

出现上述提示代表连接成功,就可以打断点调试了。

三、使用 jvisualvm 远程监控 JVM

修改 bin\catalina 文件,在开始位置添加 JAVA_OPTS

JAVA_OPTS="-Djava.rmi.server.hostname=192.168.8.229 -Dcom.sun.management.jmxremote.port=1100 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"

# 开启 JMX 远程服务权限
# -Dcom.sun.management.jmxremote.port:配置远程 connection 的端口号
# -Dcom.sun.management.jmxremote.ssl:指定 JMX 是否启用 ssl
# -Dcom.sun.management.jmxremote.authenticate:指定 JMX 是否启用密码
# -Djava.rmi.server.hostname:配置 Server IP(不要使用 127.0.0.1)

Windows 下打开 JDK 目录下的 bin/jvisualvm.exe 程序

添加 JMX 连接,填写地址和端口即可

查看堆栈


https://www.cnblogs.com/yueshutong/p/9812464.html

https://stackoverflow.com/questions/16689274/how-to-start-debug-mode-from-command-prompt-for-apache-tomcat-server

IDEA + tomcat 远程调试(JPDA)的更多相关文章

  1. Jboss,Tomcat 远程调试配置

    Jboss,Tomcat 远程调试配置 2007-12-25 15:51:01|  分类: 默认分类|字号 订阅   Eclipse远程调试JBoss应用 修改JBoss启动配置            ...

  2. tomcat远程调试参数备忘

    tomcat远程调试,启动时添加参数: -server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,ser ...

  3. linux下的java远程调试jpda+tomcat

    项目放到linux服务器了,服务器的环境或者数据可能和我们本地不一样,这个时候我们可能需要远程的断点进行调试,来查看请求过程中的各个变量的值.这里我们的应用服务器用的tomcat5.5.17 这个时候 ...

  4. tomcat 远程调试

    1.服务端查看cataline.sh 中的描述  cataline jpda start 开启服务端远程调试 远程调试端口JPDA_ADDRESS="8000" 2.本地代码参考  ...

  5. tomcat远程调试javaweb

    当把一个本地项目部署到远程服务器后有可能出现意想不到错误,这个时候通过远程调试能够更清楚的找到bug所在位置. 目前百度tomcat绝大多数方法都是在startup.sh或者catalina.sh增加 ...

  6. [Tomcat] Tomcat远程调试

    如何用eclispe远程调试tomcat 关键步骤: 1)修改启动脚本startup.bat 复制startup.bat为startup-debug.bat,然后打开startup-debug.bat ...

  7. Tomcat远程调试和加入JMS(转)

    1.Tomcat 加入远程调试,在catalina.bat : SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xr ...

  8. 开启Tomcat远程调试(转)

    原文链接:http://www.07net01.com/2016/11/1721293.html 如何远程调试tomcat 一,linux环境下 1. 服防火墙打开8000端口,允许外网访问:2. 修 ...

  9. Window下Eclipse+Tomcat远程调试

    需求:       项目在开发环境跑得好好的,但是当发布到服务器上时,却出现了一些意外的问题.服务器上不可能给你装IDE调试工具啊,又没有很好的日志帮助下,这时候就用到了JVM的Java Platfo ...

随机推荐

  1. linux 下使用 VirtualBox 搭建集群环境

    参考文章: https://www.nakivo.com/blog/virtualbox-network-setting-guide/ https://help.ubuntu.com/lts/serv ...

  2. mybatis generator代码生成器的使用

    一.有关mybatis generator的使用可以查看如下网址:http://www.mybatis.org/generator/index.html 二.如下是我自己整理的学习步骤: <1& ...

  3. 用Leangoo做敏捷需求管理

    转自:https://www.leangoo.com/9229.html 传统的瀑布工作模式使用详细的需求说明书来表达需求,需求人员负责做需求调研,根据调研情况编制详细的需求说明书,进行需求评审,评审 ...

  4. 使用nodejs实现OData的batch操作在Marketing Cloud里读取contact信息

    我们先来看看Marketing Cloud系统里的contact信息: 一共1218374条数据. 我们用如下的nodejs代码通过OData来获取这些数据: var request = requir ...

  5. MySQL间隙锁问题

    间隙锁(Gap Lock):锁加在不存在的空闲空间,可以是两个索引记录之间,也可能是第一个索引记录之前或最后一个索引之后的空间. 最近用户反馈说系统老是出现insert时,等待超时了,最后发现是ins ...

  6. 修正Calendar的Bug

    procedure TAndroidNativeCalendarListener.onSelectedDayChange(view: JCalendarView; year, month, dayOf ...

  7. redis——搭建

    https://blog.csdn.net/sinat_29699167/article/details/79699200 Django使用Redis进行缓存详细最全流程 https://blog.c ...

  8. Nginx之什么是反向代理(一)

    什么是反向代理? 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求 ...

  9. AGC刷题记

    已经刷不了几天了... AGC001 A-BBQ Easy 排个序就过了 B-Mysterious Light 手膜一下,你会发现魔改一下\(gcd\)就行了 C-Shorten Diameter 刚 ...

  10. Bootstrap-轮播图-No.7

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...