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

亿赛通脚本远程调试配置技巧

要进行远程调试,主要是对TomcatJava进程进行调试。以下是针对该系统的远程调试配置方法:

一、Tomcat远程调试配置

1.修改Tomcat启动脚本

找到Tomcat的启动脚本(通常在/esafenet/tomcat/bin/catalina.shstartup.sh):

# 在catalina.sh中JAVA_OPTS配置部分添加调试参数JAVA_OPTS="$JAVA_OPTS-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"

或者直接在启动命令中添加:

./catalina.sh jpda start

2.使用JPDA启动(推荐)

修改/esafenet/tomcat/bin/catalina.sh

# 查找JPDA相关配置,通常在文件开头附近JPDA_ADDRESS="5005"JPDA_TRANSPORT="dt_socket"

然后在启动时使用:

./catalina.sh jpda start

3.在checkProcessAlive.sh中修改启动方式

如果您希望通过守护进程保持调试模式,可以修改脚本中的Tomcat启动部分:

check_tomcat(){if[-d$tomcat]thensleep10tomcatpid=$(ps-ef|greptomcat|grep-vgrep|wc-l)if[$tomcatpid-eq0]thenecho"============Tomcat has been closed. Now start the Tomcat program with debug">>$LOGFILEcd$tomcat# 添加调试参数启动exportCATALINA_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"./startup.sh>$DEV_NULL2>&1# 或者使用JPDA模式# ./catalina.sh jpda start >$DEV_NULL 2>&1sleep3elseecho"======Tomcat is running normally">>$LOGFILEfifi}

二、其他Java进程调试

1.Logstash调试

修改logstash启动部分:

# 在check_logstash函数中修改nohup$LOGSTASH_DIR_NEW/bin/logstash -f$LOGSTASH_DIR_NEW/config/log_logstash_es_company_linux.conf\-J-Djruby.debug=true\--log.level debug>$DEV_NULL2>&1&

2.Elasticsearch调试

# 在check_es函数中修改su-$EST_USER-c"/esafenet/elasticsearch/bin/elasticsearch -d \ -Enetwork.host=0.0.0.0 \ -Etransport.tcp.port=9300 \ -Ehttp.port=9200 \ -Enetwork.tcp.keep_alive=true"

三、IDE连接配置

IntelliJ IDEA配置

  1. Run → Edit Configurations
  2. Add New Configuration → Remote JVM Debug
  3. 配置参数:
    Host: <服务器IP> Port: 5005 Command line arguments: 保持默认

Eclipse配置

  1. Run → Debug Configurations
  2. Remote Java Application → New
  3. 配置:
    Host: <服务器IP> Port: 5005 Connection Type: Standard (Socket Attach)

四、防火墙配置

确保调试端口开放:

# 开放5005端口firewall-cmd --zone=public --add-port=5005/tcp --permanent firewall-cmd --reload# 或者临时开放iptables -A INPUT -p tcp --dport5005-j ACCEPT

五、调试建议和注意事项

生产环境调试

  1. 安全考虑:生产环境慎用远程调试,建议:

    • 在测试环境调试
    • 使用VPN访问
    • 调试后立即关闭端口
  2. 性能影响

    • 调试模式会降低性能
    • 建议设置suspend=n(不挂起启动)

调试脚本创建

您可以创建一个专门的调试启动脚本:

/esafenet/bin/start_debug.sh

#!/bin/bash# 停止当前服务/esafenet/bin/stop_all.sh# 设置调试环境变量exportJAVA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"exportCATALINA_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"# 按顺序启动各服务(带调试)check_mysql check_essleep5check_tomcat check_logstash

常用调试命令

# 查看调试端口监听netstat-tlnp|grep5005# 查看Java进程调试参数ps-ef|grepjava|grepjdwp# 测试端口连通性telnet<server_ip>5005

六、故障排除

  1. 连接拒绝

    • 检查防火墙
    • 确认Tomcat已启动调试模式
    • 检查IP地址是否正确
  2. 连接超时

    • 检查网络连通性
    • 确认端口未被占用
  3. 调试不生效

    • 重启Tomcat使配置生效
    • 检查JAVA_OPTS是否正确设置

注意:在进行远程调试前,请确保:

  1. 有相应的系统权限
  2. 了解调试对系统的影响
  3. 生产环境调试需谨慎,建议先在测试环境验证
  4. 调试完成后恢复原配置
http://www.jsqmd.com/news/88975/

相关文章:

  • 【大模型预训练】17-分布式并行策略:Tensor并行、Pipeline并行的应用场景
  • Dockerfile 详解
  • 蛇形矩阵(三角形版本)
  • 探索非线性电液伺服系统:从PID到反步控制的奇妙之旅
  • 【大模型预训练】18-分布式并行技术:梯度同步、参数服务器架构实现方法
  • 探索Comsol双温模型在半导体飞秒激光研究中的应用
  • 线性回归和回归决策树(CART)对比
  • 【硕士生必看】硕士论文被退稿?可能是AI惹的祸!Paperzz智能降重+降AIGC,守护你的学术尊严!
  • 三相并联型有源电力滤波器APF仿真探索
  • 六自由度机械臂抓取动作仿真:两套易懂代码解析
  • Day32 类的定义和方法
  • 货运 app 运输管理系统框架搭建
  • 匠魂的熔炼注册
  • Simulink导弹制导系统仿真:从模型到实战模拟
  • Socket编程与编码转换实战指南
  • 【博士生必看】博士论文被退稿?可能是AI惹的祸!Paperzz智能降重+降AIGC,守护你的学术尊严!
  • 粒子群算法在风光储微电网优化调度中的应用:经济目标下的电源侧与负荷侧运行策略优化
  • PRML为何是机器学习的经典书籍中的经典?
  • 晶体塑性有限元多晶Voronoi模型生成:Neper软件在Linux系统下的神奇之旅
  • 【paperzz免费文献】5分钟搞定百篇文献?Paperzz一键生成文献综述,导师都说“这孩子真会用工具”!
  • 核技巧
  • Redis缓存三大问题详解:击穿、穿透与雪崩的解决方案
  • “蟒蛇书”作者力荐,全球热销的Python入门经典书第3版出版
  • 完整教程:打造可编程可集成的实时计算平台:阿里云实时计算 Flink被集成能力深度解析
  • 【开题答辩全过程】以 基于PHP的高校心理测评系统的设计与实现为例,包含答辩的问题和答案
  • 在C# 中搭建基于VisionPro的多相机多线程采集与Socket通讯的视觉系统
  • Docker 搭建Nexus3私服
  • obsidian(md笔记管理)使用实践
  • 【开题答辩全过程】以 基于NodeJs的国学诗词网站设计与实现为例,包含答辩的问题和答案
  • RFID资产管理:数据安全措施全解析,企业必看指南