【环境参数】

Web容器:Tomcat 8.0

IDE:IDEA 2018.1.5

【具体步骤】

1、配置Tomcat容器参数

编辑$CATALINA_HOME/bin/catalina.sh脚本,加入如下参数: -agentlib:jdwp=transport=dt_socket,address=8000,suspend=n,server=y 如下图所示。

注意:监听的端口可以为任意没有被占用的端口号,在此为8000。 可以通过linux命令“# netstat –anp | grep 8000”,来查看Linux服务器上,8000端口是否被占用。

2、配置IDEA的Remote Debug相关参数 点击Run -> Edit Configuration,按照下图输入参数

3、启动Web应用

启动Tomcat容器,使得目标Web应用被加载,具体略。

4、启动IDEA端的Debug连接

在IDEA中,选择自己刚才配置的Remote的Name,之后点击Debug,如果控制台输出“Connected to the target VM, address: '10.10.244.36:8000', transport: 'socket'”,

则说明IDEA和远程Web应用连接成功,如下图所示。

5、在IDEA中打断点,开始Debug。

6、注意点

(1)Remote Debug导致会整个Web应用挂起

当远程Debug目标Web应用,会导致服务器上整个Web应用挂起,如果此时他人访问该应用,即使访问的页面资源目标并没有在自己设的端点上,也则会导致他人等待,直到自己Debug的端点放开,他人才能继续正常访问Web应用。

(2)两端的端口号不能被其他应用占用

可以通过linux命令“# netstat –anp | grep 8000”,来查看Linux服务器上,8000端口是否被占用。

(3)两端的Debug端口号要一致

IDEA端和Tomcat端监听的Debug端口一定要一致,并且没有被其他应用所占用。 可以通过linux命令“# netstat –anp | grep 8000”,来查看Linux服务器上,8000端口是否被占用。

【原】用IDEA远程Debug Tomcat服务的更多相关文章

  1. Jacoco远程统计tomcat服务(Windows系统)的代码覆盖率

    Jacoco远程统计tomcat服务(Windows系统)的代码覆盖率 2017-09-21 目录 1 Jacoco的安装和设置  1.1 什么是Jacoco?  1.2 Jacoco安装  1.3 ...

  2. IDEA远程DEBUG Tomcat配置

    IDEA远程DEBUG Tomcat配置 IDEA远程DEBUG Tomcat很简单,配置如下: 1.修改tomcat服务器配置 打开tomcat/bin/catalina.sh 在空白处添加如下参数 ...

  3. IntelliJ IDEA 15.0.2远程debug tomcat

    背景 在最近的java项目中使用了linux环境下编译的so文件,所以无法在window环境下debug,故此有了这篇文章 环境 jdk:jdk-8u101-linux-x64 os:CentOS r ...

  4. eclipse 远程debug tomcat web项目

    1.首先须要在linux系统tomcat/bin文件夹下配置catalina.sh这个文件里添加: CATALINA_OPTS="-Xdebug  -Xrunjdwp:transport=d ...

  5. 【转载收藏】使用Jacoco远程统计tomcat服务的代码覆盖率

    在做软件开发的时候经常会遇到做各种测试,这里介绍一种本人遇到的:代码覆盖率测试, 这个测试非常实用,能发现许多无效的模块和代码.强烈推荐!!!!! 网上好多资料都不全,而且没有详细的配置流程 本文将简 ...

  6. idea远程debug:tomcat

    在tomcat的bin/startup.sh中添加: 27780debug的端口 declare -x CATALINA_OPTS="-server -Xdebug -Xnoagent -D ...

  7. 使用JMX透过防火墙远程监控tomcat服务

    https://my.oschina.net/mye/blog/64879 http://blog.csdn.net/l1028386804/article/details/51547408 http ...

  8. tomcat 远程debug配置,教你远程调试代码,解决线上故障

      IDEA远程DEBUG Tomcat很简单,配置如下: 1.修改tomcat服务器配置 打开tomcat/bin/catalina.sh 在空白处添加如下参数 CATALINA_OPTS=&quo ...

  9. JVM调优(四)——tomcat远程debug

    JVM调优(四)--tomcat远程debug tomcat远程debug jdwp协议 使用步骤 登录远程服务器,进入tomcat目录,并打开文件: //tomcat/bin/startup.sh ...

随机推荐

  1. Comparing Differently Trained Models

    Comparing Differently Trained Models At the end of the previous post, we mentioned that the solution ...

  2. PHP魔术方法之__invoke()

    将对象当作函数来使用时,会自动调用该方法. class ShowProfile extends Controller { public function __invoke($id) { return ...

  3. Linux iptables常用命令的使用

    为什么会有本文 因为最近帮一个朋友布署一个上网梯子,他那边本来用的是v2ray,但是他想用ssr,但是安装配置ssr过程中出了很多问题,比如linux内核版本4.9有点老,不支持bbr加速.无法连接s ...

  4. ASP.NET MVC学习笔记-----ControllerFactory

    上面这张图是asp.net mvc的工作流程图,我们可以看到当一个http请求来临时,首先需要经过路由系统,路由系统从中获取一些路由信息,然后ControllerFactory根据所得到的路由信息生成 ...

  5. ASP.NET实现网站的自动升级

    网站的自动升级主要是要实现从一台服务器上下载某些文件到本服务器上,然后对下载下来的文件进行更新等操作. 比如,现在有服务器A,服务器B和客户端C. 作为COM公司开发的产品DIV网站系统被安装到服务器 ...

  6. Linux中Nginx安装与配置详解

    转载自:http://www.linuxidc.com/Linux/2016-08/134110.htm Linux中Nginx安装与配置详解(CentOS-6.5:nginx-1.5.0). 1 N ...

  7. js基础知识:闭包,事件处理,原型

    闭包:其实就是js代码在执行的时候会创建变量对象的一个作用域链,标识符解析的时候会沿着作用域链一级一级的网上搜索,最后到达全局变量停止.所以某个函数可以访问外层的局部变量和全局变量,但是访问不了里层的 ...

  8. linux内存管理-内核用户空间 【转】

    转自:http://blog.chinaunix.net/uid-25909619-id-4491362.html 1,linux内存管理中几个重要的结构体和数组 page unsigned long ...

  9. mysql5.7执行sql语句报错:In aggregated query without GROUP BY, expression #1 of SELECT list contains nonagg

    mysql5.7执行sql语句报错:In aggregated query without GROUP BY, expression #1 of SELECT list contains nonagg ...

  10. Cling项目demo实现Android+DLNA实现

    dlna多屏互动技术在Android和ios上面应用很广,所以自己为了学习,就官方提供的远吗进行了学习. http://4thline.org/projects/cling 由于是一个maven构建的 ...