文档章节

eclipse远程调试

o
 osc_dnid8j42
发布于 2019/10/09 10:36
字数 719
阅读 26
收藏 0

行业解决方案、产品招募中!想赚钱就来传!>>>

在开发调试程序当碰到本地功能正常而测试环境出现问题时需要用到远程调试的功能。现针对eclipse下远程调试服务器上的web程序或者java程序作出总结

eclipse远程调试java程序
第一步:远程服务器上的java程序以调试模式启动并指定调试端口

如下截图在远程服务器上用java命令以调试模式启动dubbo服务的java程序并指定调试端口为9990(这个端口后面会用到)

nohup java -Xdebug -Xrunjdwp:transport=dt_socket,address=9990,server=y,suspend=n -Xbootclasspath/a::/app/appsoft/taskpool/conf -jar taskpoolservice-0.0.1.jar com.psbc.cos.TaskpoolserviceApplication && tail -f nohup.out

 

nohup java -Xdebug -Xrunjdwp:transport=dt_socket,address=9990,server=y,suspend=n com.alibaba.dubbo.container.Main > /local/tmp/debug.logs 2>&1 &
第二步:在eclipse中配置远程调试并打上断点以debug模式启动与服务器上同样的程序(开始调试前需要确保本地服务代码与远程服务器上的代码一致)

 

在eclipse的java启动类中右键->Debug As->Debug Configurations

 


创建一个远程调试服务

 


设置服务调试信息,注意端口与服务器上的服务调试商品保持一致并且本地到远程服务器的网络畅通,设置完成后点击Debug将本地服务以调试模式启动

 


启动成功后会出现如下图红框内所示的图标(调试完成后也可点击该图标断开远程调试)

 


如下图所示为我本地接收到远程服务器上的请求进而可以进行远程调试的效果图


eclipse远程调试tomcat程序
在eclipse中远程调试tomcat程序的方法与调试JAVA程序类似,不同之处在于远程服务器启动tomcat时加入相应调试JVM参数,由于时间原因这里不详细说明,贴上网上一的参考链接:https://jingyan.baidu.com/article/0320e2c1f4ef6b1b87507b06.html
修改tomcat的启动脚本startup.bat。复制startup.bat为startup-debug.bat,然后打开startup-debug.bat,找到call "%EXECUTABLE%" start %CMD_LINE_ARGS%这一行,修改为“call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS%”,然后在上面添加三行:

set JPDA_TRANSPORT=dt_socket

set JPDA_ADDRESS=9000

set JPDA_SUSPEND=n


设置好服务器以debug模式启动并指定端口后,仍然如前面所述在本地tomcat启动参数中加入远程调试参数并启动即可对远程环境上的相应程序进行调试
By the way:如果你的远程linux服务器开启了防火墙,且你在eclipse里开启远程调试时报错connection refused,connect timeout,需要检查一下是否未开通对应调试端口的防火墙访问权限,按如下方式添加:

1、linux开放服务端口

vi /etc/sysconfig/iptables

加入如下内容

 -A INPUT -p tcp -m tcp --dport 6001 -j ACCEPT 
2、保存退出,重启服务 service iptables restart

o
粉丝 0
博文 498
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
我的架构演化笔记 功能1: 基本的用户注册

“咚咚”,一阵急促的敲门声, 我从睡梦中惊醒,我靠,这才几点,谁这么早, 开门一看,原来我的小表弟放暑假了,来南京玩,顺便说跟我后面学习一个网站是怎么做出来的。 于是有了下面的一段...

强子哥哥
2014/05/31
976
3
研究虚拟机--Jikes RVM

Jikes研究虚拟机(Jikes Research Virtual Machine,简称Jikes RVM)是一种成熟的用于执行Java程序的虚拟机,其早期版本与当前版本分别在通用公共许可证(CPL)与Eclipse公共许可证(EPL)下开...

匿名
2013/02/13
1.1K
0
Web 的 SSH 控制台--KeyBox

KeyBox 是一个基于 Web 的 SSH 控制台,用于同步管理多个系统并且可执行远程命令。允许你共享终端命令并上传文件到所有系统。但连接会话打开时你可选择在其中一个终端或者多个终端上执行命令...

匿名
2013/02/28
8.3K
0
OpenDolphin

Open Dolphin 是一个免费开源的库,用来保护您的业务应用程序应对不确定性的可视化技术变化。 Dolphin严格分离业务逻辑和可视化效果,通过可插入式的架构将业务逻辑放在远程服务器端,可自由...

匿名
2013/03/05
658
0
Swing界面分析和调试工具--Swing Inspector

Swing Inspector是一个Java Swing/AWT用户界面分析和调试工具,功能与firebug类似,具有强大的Swing/AWT用户界面分析和调试相关功能。 适用于从java swing初级到高级的所有开发人员,能够快速...

匿名
2013/03/06
3.4K
0

没有更多内容

加载失败,请刷新页面

加载更多

matplotlib基础绘图命令之imshow

欢迎关注”生信修炼手册”! 在matplotlib中,imshow方法用于绘制热图,基本用法如下 import matplotlib.pyplot as plt import numpy as np np.random.seed(123456789) data = np.random...

庐州月光
昨天
0
0
[Bazel]自定义工具链

1 前言 2 Non-Platform 方式 3 Platform 方式 3.1 平台 3.2 工具链 3.3 Platform + Toolchain 实现平台方式构建 4 小结 1 前言 本文会讲述 Bazel 自定义工具链的两种方式,Platform 和 Non-...

别打名名
前天
0
0
浏览器在输入URL后,到底发生了什么?

这是一道面试会经常问的问题,平时虽然很常见的操作,但是探究其底层原理,可能并不是一件简单的事情,于是我从各处搜罗整理下全过程,在这里做分享。 第一步:浏览器输入域名 例如输入:www...

lintao111
前天
0
0
通过注解的方式整合 MyBatis + Spring Boot

目录 目录 1. 前言 2. 整合过程 2.1 新建 Spring Boot 项目 2.2 添加 pom 依赖 2.3 准备数据库 2.4 pojo 层 2.5 dao 层 2.7 controller 层 2.8 入口程序配置 2.9 网页测试 1. 前言 本篇博客主...

村雨遥
前天
0
0
字节跳动AI Lab 秋季正式批招聘

0 1 公司简介 字节跳动AI Lab,成立于2016年,致力于开发为字节跳动内容平台服务的创新技术,不仅仅是进行理论研究,我们的想法还可以通过实验证明和快速跟踪用于产品部署。 人工智能涉及的研...

我爱计算机视觉
前天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部