Tomcat使用IDEA远程Debug调试的讲解

 更新时间:2019年03月26日 16:46:07   作者:徐刘根  
今天小编就为大家分享一篇关于Tomcat使用IDEA远程Debug调试的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

Tomcat运行环境:CentOS6.5、Tomcat7.0、IDEA

远程Tomcat设置

1、在tomcat/bin下的catalina.sh上边添加下边的一段设置

CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=60222,suspend=n,server=y"

2、address=60222 这个是后边IDEA设置的时候需要用到的调试端口,可以任意设置一个未使用的端口,但是后边的配置都要一致.

IDEA设置

1、添加Tomcat Server选择Remote

2、设置相应的参数

  • xxx.xxx.152.67:8080为远程Tomcat服务器的IP地址和端口,这里可以设置域名,例如:http://security.xxxx.cn/login.do
  • 60222这个端口为1.1步中设置的debug端口,适合tomcat的端口不一样的;
  • 这里的Remote staging选择的都是same file system,这就要求本地代码和远程Tomcat的代码要一直;

3、Startup/Connection

选择Debug、Socket、调试端口这里是60222

4、选择运行

然后点击右边的debug即可运行(首先Tomcat要启动)

5、是否成功

可以看到已经连接成功,

查看Tomcat服务器日志,如下:

6、如果失败

如果出现端口被拒绝:

这种可能是tomcat并未启动,或者遇错误停止,重启Tomcat即可

连接失败,其他问题

首先在服务器端查看 调试端口 这里是60222的使用情况

[root@VM_92_170_centos bin]# lsof -i:60222
COMMAND  PID USER  FD  TYPE DEVICE SIZE/OFF NODE NAME
java  12064 root  5u IPv4 1320209   0t0 TCP 1x.xxx.xxx.170:60222->1xx.xx.xxx.231:13325 (ESTABLISHED)

可以看到这是自己本地和远程的一个连接,如果连接失败却看到上边的使用情况,请使用kill -9 PID杀死进程,重启Tomcat,然后在IDEA中重新运行debug,本例为:kill -9 12064

容易出现的问题

  • 如果远程没有连接上,两个端口被占用或者防火墙屏蔽。除了JMX server指定的监听端口号外,JMXserver还会监听一到两个随机端口号,这个如果防火墙关闭了的话就不用考虑,如果使用了防火墙,还需要查看它监听的端口。
  • 账号的相应的读写权限一定要有;

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

  • 详解HttpSecurity是如何组装过滤器链的

    详解HttpSecurity是如何组装过滤器链的

    HttpSecurity 本质上也是一个 SecurityBuilder,我们平时在 HttpSecurity 配置的各种东西,本质上其实就是一个 xxxConfigure,这些 xxxConfigure 被 HttpSecurity 收集起来,本文将给大家介绍HttpSecurity是如何组装过滤器链的,需要的朋友可以参考下
    2024-06-06
  • java中concat()方法的使用说明

    java中concat()方法的使用说明

    这篇文章主要介绍了java中concat()方法的使用说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • spring中FactoryBean中的getObject()方法实例解析

    spring中FactoryBean中的getObject()方法实例解析

    这篇文章主要介绍了spring中FactoryBean中的getObject()方法实例解析,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02
  • spring注入在有常量的情况下使用@AllArgsConstructor操作

    spring注入在有常量的情况下使用@AllArgsConstructor操作

    这篇文章主要介绍了spring注入在有常量的情况下使用@AllArgsConstructor操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • java模拟post请求登录猫扑示例分享

    java模拟post请求登录猫扑示例分享

    这篇文章主要介绍了java模拟post请求登录猫扑的小示例,需要的朋友可以参考下
    2014-02-02
  • Jmeter接口登录获取参数token报错问题解决方案

    Jmeter接口登录获取参数token报错问题解决方案

    这篇文章主要介绍了Jmeter接口登录获取参数token报错问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • 使用@Autowired可以注入ApplicationContext

    使用@Autowired可以注入ApplicationContext

    这篇文章主要介绍了使用@Autowired可以注入ApplicationContext问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • SpringBoot使用RestTemplate发送http请求的实操演示

    SpringBoot使用RestTemplate发送http请求的实操演示

    RestTemplate是Spring 框架提供的 ,可用于在应用中调用 rest 服务,它简化了与 http 服务的通信方式,统一了 RESTful 的标准,封装了 http 链接,本文给大家介绍了SpringBoot使用RestTemplate发送http请求的实操演示,需要的朋友可以参考下
    2024-11-11
  • springboot中的多个application文件讲解

    springboot中的多个application文件讲解

    这篇文章主要介绍了springboot中的多个application文件,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • 启用Spring事务管理@EnableTransactionManagement示例解析

    启用Spring事务管理@EnableTransactionManagement示例解析

    这篇文章主要为大家介绍了启用Spring事务管理@EnableTransactionManagement示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09

最新评论