当前位置: 首页 > 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.cnnetsun.cn/news/52875.html

相关文章:

  • IPv4地址与IPv6地址
  • 探索非线性电液伺服系统:从PID到反步控制的奇妙之旅
  • 使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 33--基础知识 8--切换窗口句柄
  • 某安全so库深度解析
  • vue基于Spring Boot框架的在线电影票购买系统的设计与实现_8xxt52nn
  • 在服务器上安装 aaPanel
  • Week 29: 深度学习补遗:MoE的稳定性机制与路由策略实现
  • 25年12月14日复盘总结,大盘方向,操作建议,板块机会,实用干货
  • what?动态规划?
  • CommonJS 的缓存机制:为什么二次 require 得到的对象是同一个?
  • 跨标签页通信的五种方案:LocalStorage、BroadcastChannel 与 SharedWorker
  • JavaScript 与 CSS 变量交互:利用 setProperty 动态修改 CSS 变量实现主题切换
  • 2、UNIX基础入门教程
  • 6、互联网通信全解析:从邮件到多媒体的多元世界
  • vue基于Spring Boot框架 农产品销售供应商管理系统_m11i2507_
  • 10、UNIX系统管理:技术与实践指南
  • vue基于SpringBoot的健身房管理系统设计与实现_45vy0km9_
  • 父子进程关系与终止机制详解
  • Qt面试题合集(一)
  • Claude vs ChatGPT vs Gemini:全方位对比与选用指南
  • 大模型量化技术原理-ZeroQuant系列(一)
  • RISCV的异常和中断
  • vue基于Spring Boot框架的水果商城设计与实现_6628xfyb_
  • 【入门级-数据结构-3、特殊树:完全二叉树的定义与基本性质】
  • python用openpyxl操作excel-读取或创建excel文件
  • 刷题日记day5(二分+前缀和)
  • 005-AES:采招网
  • 基于python+django的在线考试系统(源码+lw+部署文档+讲解等)
  • C语言一维与二维数组名详解:从本质理解到高手应用
  • 当水印遇见AI:一场像素级的美学修复之旅