当前位置: 首页 > news >正文

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

在这里插入图片描述

相关文章:

  • SSH设置别名访问远程服务器
  • ACM程序设计选修课——1049: Efface Numbers(贪心)
  • Dubbo-admin无法显示Group分组信息以及是否可以显示多个分组
  • 使用Jenkins配置Git+Maven的自动化构建
  • JUnit单元测试基础要点
  • Dubbo无法访问远程Zookeeper已注册服务的问题
  • 笔记-iOS 视图控制器转场详解(上)
  • 各大互联网公司架构演进之路汇总 - 分享自@开发者头条
  • centos文件误删除恢复
  • MySQL执行状态分析
  • Linux下怎么来利用crontab实现计划任务
  • JS中如何输出空格
  • SpringMail使用过程中的报错
  • IIS 启用CORS ,IISExpress 通过IP 访问
  • 构建单页Web应用
  • 【笔记】你不知道的JS读书笔记——Promise
  • Android交互
  • Angular Elements 及其运作原理
  • PermissionScope Swift4 兼容问题
  • vue脚手架vue-cli
  • webpack4 一点通
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • 动态规划入门(以爬楼梯为例)
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 一道闭包题引发的思考
  •  一套莫尔斯电报听写、翻译系统
  • C# - 为值类型重定义相等性
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • #1014 : Trie树
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • #考研#计算机文化知识1(局域网及网络互联)
  • (04)odoo视图操作
  • (牛客腾讯思维编程题)编码编码分组打印下标题目分析
  • (转)Google的Objective-C编码规范
  • (转)Linux整合apache和tomcat构建Web服务器
  • (转)Scala的“=”符号简介
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • ***原理与防范
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .net core webapi Startup 注入ConfigurePrimaryHttpMessageHandler
  • .Net Core 中间件验签
  • .NET delegate 委托 、 Event 事件
  • .net 流——流的类型体系简单介绍
  • .net程序集学习心得
  • .net开发引用程序集提示没有强名称的解决办法
  • .vue文件怎么使用_vue调试工具vue-devtools的安装
  • /boot 内存空间不够
  • @CacheInvalidate(name = “xxx“, key = “#results.![a+b]“,multi = true)是什么意思
  • @synthesize和@dynamic分别有什么作用?
  • [AndroidStudio]_[初级]_[修改虚拟设备镜像文件的存放位置]
  • [AS3]URLLoader+URLRequest+JPGEncoder实现BitmapData图片数据保存
  • [Big Data - Kafka] kafka学习笔记:知识点整理
  • [BZOJ3757] 苹果树