Eclipse远程调试

前提:远程服务器上运行的WEB项目class对应的源码与本地项目中必须保持一致

也就是远程tomcat部署的项目就是本机项目打包过去的,而本机项目没有发生变动

 

远程服务器端(Tomcat7)

服务器端配置eclipse调试器监听端口,有两种方式,任选其一

 

第一种方式:

环境变量

export JPDA_ADDRESS=9999

 

 启动tomcat7

使用sh catalina.sh jpda start启动

注意:不要用startup.sh

 

通过这条命令启动tomcat,会监听JPDA_ADDRESS设置的端口,等待调试器连接。

如果不配置JPDA_ADDRESS,默认监听8000端口

 

 

第二种方式:

  配置$tomcat_home/bin/catalina.sh

加上如下一行

 JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9988"

 

说明:server=y 是指目标应用程序作为服务监听将要连接的远程调试器(常用);

     suspend=y 是指目标VM将暂停,直到调试器应用程序进行连接(若需要调试启动错误,很有用);

     suspend=n 是指目标VM不暂停;

     address=9988 监听端口。

 

 

启动tomcat

 直接通过startup.sh启动即可

 

通过ps -aux|grep tomcat查看启动的tomcat进程,刚才配置的-Xdebug等选项出现在进程信息中,证明配置成功

 

本机调试端

调试器配置

 

在本地eclipse中点击debug按钮,选择Debug Configurations....,如下图

 

 


 

 

 

点击选项后,弹出一个窗口,双击左侧Remote Java Application,如下图


Name:自定义,任意名称

Project:本机eclipse中的WEB项目,与远端服务器上部署的WEB项目一致

Host:被调试的远端服务器ip

Port: 远端服务器中环境变量JPDA_ADDRESS的值

配置完成后点击Apply,随后点击Debug,eclipse窗口右下角出现

 

这里ConnectionType我们选择的是Standard(Socket Attach)方式调试

 

 

等待这个进度条跑完,直到consle的红色按钮变成灰色,此时已经完成了服务器端调试准备

 

 


 

 测试调试

 源码打断点

在本机eclipse源码中找到一处要调试的地方,打上断点

比如,我在一处webservice的service入口类中某一方法testAdd中加入断点

 


 

 

测试接口,进入断点

比如,我测试自己的WebService接口

 

       private static String endpoint = "http://123.125.114.144:8080/JavaUtils/services/TestService?wsdl";

      

       private static Call call  = null;

       @BeforeClass

       public static void init(){

              Service service = new Service();

              try {

                     call  = (Call) service.createCall();

                     call.setTargetEndpointAddress(endpoint);

              } catch (ServiceException e) {

                     e.printStackTrace();

              }

       }

 

 

    @Test

       public void testRemoteDebug(){

              String method = "testAdd";

              // 调用远程方法

              try {

                     String value = "testValue"

                     Object ret = call.invoke(

                                   method,

                                   new Object[] {value);

                     System.out.println(ret.toString());

              } catch (AxisFault e) {

 

                     System.err.println(e.getFaultString());

 

              }

       }

 

执行单元测试,调用服务器端WebService服务的testAdd方法,传入value值

此时eclipse进入debug状态,跳到刚才打断点的51行,

 

这样就可以像本机一样F6,F5进行跟踪和调试远程程序了

 

 

注意:服务器端配置的环境变量JPDA_ADDRESS虽然是端口,但是只是调试器监听端口,但是与tomcat中部署项目运行的端口是不一样的,web项目运行端口是在tomcat_home/conf/server.xml中进行配置的,不要混淆

 

 

至此完整的eclipse远程调试步骤已经描述清楚

 

总结

Standard(Socket Attach)方式进行服务器端监听的优缺点:

先启动远程java程序 然后 启动Eclipse远程调试,然后可以正常调试系统

缺点 :只有java程序启动后才能进行调试,无法调试java程序的启动过程,如果要全程调试需要使用另外一种方式,我会总结成另一篇文章

优点 :可以随时连接到远程java程序进行调试

 

可上ibm developer 网站上看看http://www.ibm.com/developerworks/cn/opensource/os-eclipse-javadebug/

 

PS:这种调试方式最常用的

Android Profiler 帧率优化实战与性能调优 本文详细介绍了使用Android Profiler进行帧率优化与性能调优的实战方法。通过分析主线程状态、FPS曲线和渲染阶段耗时,精准定位卡顿根源,并提供减少过度绘制、优化绘制命令及改善资源使用的具体策略。文章结合电商、游戏等真实案例,帮助开发者有效解决卡顿问题,提升应用流畅度。 阅读详情

相关推荐

VIPER22A实战:从零搭建15W非隔离电源,附BUCK电路调试心得

本文详细介绍了使用VIPER22A芯片从零搭建15W非隔离电源的全流程,重点解析BUCK电路设计与调试技巧。通过核心参数计算、PCB布局优化和效率提升方案,帮助工程师快速掌握DC-DC电源设计要点,实现高效稳定的电源转换。

redis7keeper的博客 663

Eclipse远程调试(远程服务器端监听)

  前提:远程服务器上运行的WEB项目class对应的源码与本地项目中必须保持一致 也就是远程tomcat部署的项目就是本机项目打包过去的,而本机项目没有发生变动   远程服务器端 服务器端配置eclipse调试器监听端口,有两种方式,任选其一   第一种方式: 环境变量 export JPDA_ADDRESS=9999    启动tomcat 使用sh catal...

JavaCrazyer的ItEye(codewu.com)技术博客 289

用HFSS复现经典论文:从零搭建带孔缝屏蔽箱体模型(附完整建模步骤与避坑指南)

本文详细介绍了如何使用HFSS电磁仿真软件复现经典论文中的带孔缝屏蔽箱体模型,包括从零搭建模型、设置激励与边界条件、求解优化及结果验证的全过程。特别提供了建模中的布尔运算陷阱、激励设置技巧等实操难点的避坑指南,帮助工程师和学生深入理解电磁屏蔽效能研究。

weixin_30530339的博客 157

Eclipse 远程调试(Remote Debug)

Eclipse 远程调试(Remote Debug)

whax 1万+

图自编码器(GAE)与变分图自编码器(VGAE)

在学习图自编码器之前先了解一下自编码器与变分自编码器。

小鱼的小窝 1万+

基于MATLAB的数字滤波器之低通滤波器

本文首先介绍了数字低通滤波器的概念和原理,其次论述了低通滤波器的技术指标和设计步骤,最后给出了数字低通滤波器应用于信号去噪的MATLAB代码。

总结论文中的算法并给出论文的复现代码 3万+

Eclipse调试常用技巧

本文写给那些作为一个JAVA程序员或其爱好者,仍不懂如何在Eclipse调试程序的同志们。不要连断点都不打,会被人笑话的。用 System.out 找 Bug 的,想想什么叫做废物。 在一个 1 、 2 百万行的系统中找 Bug ,依然在用 System.out ,迂腐。如何使用热替换。一定要学会如何调试JAVA程序。 1、 条件断点 断点大家都比较熟悉,在Eclips...

卧薪尝胆 韬光养晦 494

ESP32-C3模组上实现蓝牙BLE配网功能(1)

ESP32-C3模组上实现蓝牙BLE配网功能(1)

phmatthaus的专栏 2279

使用Eclipse 进行远程 Debug 调试

一般情况下,生产环境可以采取的手段比较单一,即通过日志的方式获取运行中的环境上下文,分析日志文件并尝试重现bug。这会带来的问题还是不少的,首先,日志的分析是一项比较耗时的工作;倘若是测试环境,还多了一项可供选择的手段——远程调试——将程序在测试环境中以debug模式启动,在本机使用Eclipse在工程中设置断点进行调试。Java自身支持调试功能,并提供了一个简单的调试工具--JDB,类似于功能强大的GDB,JDB也是一个字符界面的调试环境,并支持设置断点,支持线程线级的调试。指定了调试数据的传送方式;

sinat_31583645的博客 2754

YOLOv12涨点改进 | 全网独家首发Conv改进篇 | Arxiv 2025 | 引入一种新的WConv加权卷积改进YOLOv12,显著提升其特征提取能力和目标检测精度

本文提出了一种新型加权卷积(WConv)模块,通过引入最优密度函数动态调整邻域像素权重,显著提升了YOLOv12目标检测性能。WConv在保持参数数量不变的情况下,提高了模型精度(VGG准确率提升10%)、增强了小目标检测能力,并改善了多尺度特征提取。文中详细介绍了模块原理、网络结构改进方法,并提供了核心代码实现和yaml配置文件。实验表明,该方法在图像任务中最高可降低53%的损失,虽然会带来11%的时间开销,但具有优异的鲁棒性。该技术可广泛应用于2D/3D图像处理领域。

Ai缝合怪、助力小伙伴高效发论文 215

移植Google Gemini Nano到RK3588 NPU,实现高效边缘推理

在嵌入式 AI 开发中,大家常常会遇到模型在硬件平台上运行时出现性能瓶颈的问题,比如推理速度慢、功耗过高,这严重影响了应用的实时性和稳定性 ,导致性能瓶颈,无法满足如智能安防、工业检测等场景的实时性需求。为了解决这些问题,我们可以将轻量模型移植到具有强大算力的硬件平台上。本文将手把手教你将 Google Gemini Nano(或类似轻量模型)移植到 RK3588 NPU,充分发挥 RK3588 NPU 的 6Tops 算力,实现高效的模型推理,提升嵌入式系统的 AI 处理能力。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 293

eclipse启动远程调试功能

eclipse启动远程调试功能

qq_40100713的博客 728

【深度学习新浪潮】近三年垂域大模型研究与产品进展全景洞察(2022-2025)

近三年来,垂域大模型完成了从技术探索到产业落地的关键跨越,在多个行业实现效率提升与价值创造。面对数据治理、技术适配、生态建设等挑战,未来需要通过技术创新、标准制定、人才培养等多维度发力,推动垂域大模型向更高效、更可靠、更普惠的方向发展。随着"人工智能+"行动的深入推进,垂域大模型将成为数字经济与实体经济深度融合的核心驱动力,为产业智能化升级注入持续动能。

专注:太空算力、AI infra、异构调度、大模型成本工程 786

Eclipse的远程调试

如果J2EE开发者在应用服务器上部署了应用,想在Eclipse的IDE(集成开发环境)下调试该应用,他可以利用Eclipse IDE的远程调试器连接到应用服务器上进行调试。如果没有这个调试器,出错信息就只能从应用服务器的错误日志里获取。   借助于Eclipse的远程调试器,你可以在应用程序中设置断点,然后在Eclipse里调试应用。当应用在诸如JBoss之类的服务器端运行出错时,应用就被挂起,E

f9inux的专栏 1335

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

使用Eclipse远程调试及原理

今天定位Linux Server端的Java应用程序的问题,使用了 Eclipse 远程调试 Java 应用程序,这恐怕是定位Server端最常见也是最根本的方法。 本文在介绍使用Eclipse远程调试Java应用程序之外,着重解析了远程调试的原理。

Jeff 的专栏 9036

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Eclipse远程调试Tomcat

最近,一直在研究Tomcat的工作内幕,主要的方法就是参考《How Tomcat Works》这本书和Tomcat 5.5.26的源代码。 Tomcat的代码结构还是比较清晰的,注释也比较全。但是代码毕竟是静态的,难以彻底弄清类与类之间的协作关系,以及运行时对象的交互关系。 如果能对Tomcat的启动、处理请求和停止的过程进行断点调试,看清Tomcat的每一步行踪,那么就能

德平的专栏 4万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

eclipse 远程调试java_Eclipse远程调试Java程序

今天同事问我怎么远程调试 java 程序。我不会,那马上搜索看看。在被高度的程序中加个数据就行。然后 eclipse 调试时指定端口就行,太方便了。比如,现在有一个代码:把这个java 导出为 remoting-debug.jar 上传到目标机器(当然本地也行)。然后在目标机器上运行:java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,addre...

weixin_30676635的博客 208

关于eclipse的远程调试

 大家的应用发布以后,有时候需要直接在服务器上进行远程调试,以下是远程调试Jboss的方法我们的Eclipse用的是3.2.2,Jboss是4.2.21.设定Jboss的启动参数,把Debug端口放开      打开[/jboss-4.2.2.GA/bin/run.conf]文件,把47行的注释放开,如下所示# Sample JPDA settings for remote socket

childhooders的专栏 2846

ECLIPSE远程调试TOMCAT.

ECLIPSE远程调试TOMCAT. Powered by Zoundry

attilax的专栏 2272

Eclipse远程调试技巧

Eclipse远程调试方法

月下独影灬的博客 2951

在Eclipse中远程调试

1. 配置Tomcat支持remote debugging 给JVM加上如下的启动参数: -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n 2. Eclipse里新建一个Remote Java Applications的debug “Run->Debug…”, then “Remote Jav...

wwy897803652的博客 317

java远程调试,Eclipse调试

debug需要调试器(eclipse是一种调试器)和目标应用程序(待调试的程序)协同工作,这样才能有效调试,因此,调试链路有两个节点:调试器和目标应用程序。这两个节点都可以作为服务端,等待对方的连接,该参数就是控制究竟哪一方作为服务端的。n:运行程序启动脚本后,jvm自动加载,然后开启debug端口号。应用程序开启debug模式,启动应用,然后调试器进行连接。y:运行程序启动脚本后,发现jvm会暂停,直到调试器连接过来后,jvm会继续加载。启动后会停止,等调试器启动后在运行。n:调试器作为服务端。

木槿 554
上一篇: 内网ping地址
下一篇: 源码安装mysql
MyJavaBlog
博客等级 码龄16年 11粉丝 126原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值