Linux下Tomcat启动设置debug模式启动
原文:
https://blog.csdn.net/li295214001/article/details/42077247
https://blog.csdn.net/jackie_xiaonan/article/details/49229139
一. 应用场景
在实际的测试过程中,可能会遇到由于程序执行的不间断性,我们无法构造测试场景来验证某个功能的正确性,只有通过代码级的调试才能验证功能是否正确。然而开发本地调试的话,不具有说服力,这时我们测试人员必须连接到linux下的基线版本代码进行远程调试
二. 调试步骤
1、部署服务工程到Linux系统下的Tomcat中,本文档重点是远程调式,为了防止文档篇幅累赘,这里就不介绍部署工程了。
2、更改tomcat远程调试端口
(1).更改Linux系统上的Tomcat启动文件远程调试端口,登录服务器,找到Tomcat安装路径,进入到bin目录
(2).打开目录下的catalina.sh文件,找到JPDA_ADDRESS=”8000”,8000代表远程调试端口,可以更改成其他没有被占用的端口,更改完成后保存退出。
3、以debug模式启动Tomcat
Windows下
进入目录下的bin目录,编辑打开startup.bat
在前面添加:SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000
完成一行,不要断开。
Linux下(CentOS)
在catalina.sh中的首行添加: 注意:端口一定要是8000,其他的话试了几次连不上
CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"
另一种centOs方式:
进入tomcat的bin目录,输入./catalina.sh jpda run 或者 ./catalina.sh jpda start命令启动tomcat。启动会出现Listening for transport dt_socket at address: 8000 。(测试不成功。)
4、配置MyEclipse远程调试
(1).在需要远程调试的类中选择Debug Configurations菜单打开配置界面,如下图:
(2)在左边列表中双击Remote Java Application项,添加要调试的类,然后在右边添加Host项和Port项后点击<Debug>按钮。
Host代表Tomcat所在的Linux服务器IP
Port代表catalina.sh中配置的远程调试端口
5、lsof -i:8000 监听端口是否打开了
6、打开IE浏览器,输入URL连接提交请求,此时你在MyEclipse里面是不是看到了代码运行到了断点出就不往下运行了?
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析