基于华为开发者空间的云端JVM服务远程调试:CodeArts IDE配置指南
本案例通过云主机的CodeArts IDE远程调试功能,使用调试器监听传入连接来进行远程JVM服务的DEBUG调试。
1 概述
1.1 背景介绍
在我们线上遇到问题的时候,可能要在出现问题的地方增加日志,重新进行编译打包部署,然后再对问题部分输出的日志进行问题分析,如果日志有遗漏,还需要重复这个流程。本案例为大家带来一个新的解决方式,通过CodeArts IDE的远程调试功能,使用调试器监听传入连接来进行远程JVM服务的DEBUG调试。
1.2 适用对象
- 企业
- 个人开发者
- 高校学生
1.3 案例时间
本案例总时长预计60分钟。
1.4 案例流程
说明:
① 登录云主机,拉取代码,启动CodeArts IDE 终端Terminal;
② 启动鲲鹏云服务器,部署服务至鲲鹏云服务器;
③ 配置CodeArts IDE远程连接鲲鹏云主机,使用CodeArts IDE调试鲲鹏云主机上部署的服务。
1.5 资源总览
本案例预计花费总计0元。
资源名称 | 规格 | 单价(元) | 时长(分钟) |
---|---|---|---|
开发者空间-云主机 | 免费版(操作系统:Ubuntu,CPU架构:X86,工具: Java工具集(CodeArts IDE +OpenJDK +Git)) | 0 | 60 |
体验完整案例请点这里👉️👉️👉️使用云主机CodeArts IDE进行远程JVM服务调试
2 操作步骤
2.1 拉取代码到CodeArts IDE
进入云主机后,点击下方菜单的“Terminal Emulator”按钮,打开命令行工具。
在命令行中输入命令“cd ~”跳转到用户家目录下。
在命令行中输入下面git命令拉取代码。
git clone https://gitcode.com/CaseDeveloper/E-SpringBootWebDemo-Java.git
使用CodeArts IDE打开下载代码的文件夹。
等待CodeArts IDE右下角工程模型自动同步成功。
点击“终端”,开启CodeArts IDE终端。
2.2 部署服务至鲲鹏云主机
- 在终端输入自动部署命令,命令如下:
hcd deploy --password abcd1234@ --time 3600
命令的参数说明:
-
password:password关键字后设置的是鲲鹏服务器的root用户密码,命令中给出的默认为abcd1234@,开发者可以替换成自定义密码(至少8个字符)。
-
time:time关键字后面设置的为鲲鹏服务器的可用时间,单位为秒,至少600秒。当前实验预估需要40分钟,为了保证时间充足,在命令中申请的时间为60分钟,即3600秒。
-
记录下自动部署后生成的弹性公网IP地址。
-
点击Maven下的package 编译打包当前项目。
-
将当前包传输至鲲鹏云远程云主机上。在终端输入传输命令,命令如下:
IP为第2步记录的弹性 IP。
scp target/E-SpringBootWebDemo-Java.jar root@IP:\~
这个命令的作用是将第3步构建的位于当前目录target 目录下的E-SpringBootWebDemo-Java.jar包传输至鲲鹏云远程云主机上的/root目录下。
遇到类似下图需要确认的情况输入yes确认。
输入密码请输入第一步申请时设置的密码,默认为abcd1234@
-
远程登录鲲鹏云主机
IP为第2步记录的弹性 IP。
ssh root@IP
输入密码请输入第一步申请时设置的密码,默认为abcd1234@。
- 执行命令部署服务,执行下面命令部署服务。
nohup java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5210 -Dserver.port=8201 -jar E-SpringBootWebDemo-Java.jar &
参数说明:
- nohup : 后台运行SpringBoot进程
- -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5210 :SpringBoot服务端添加远程通道这里我们使用5210端口作为服务端开放的端口。后面我们要使用这个端口作为CodeArts IDE调试端口。
- -Dserver.port : SpringBoot 默认启动端口为8080,这里配置为8201避免和鲲鹏云上端口冲突。
输入下面命令持续查看部署日志:
tail -f nohup.out
2.3 配置CodeArts IDE远程连接鲲鹏云主机
点击“编辑配置”。
添加Remote Debug(Attach to remote JVM),HOST为2.2第二步记录的弹性 IP,PORT为上一步address=5210填写的5210端口。
点击启动,CodeArts IDE下方出现橘黄色标识即为成功。
2.4 用CodeArts IDE调试鲲鹏云主机上部署的服务
将鼠标挪动到对应代码行的编码前方,会浮现红色断点,单击红色断点,在代码中打断点。
打开浏览器输入:http://IP:8201/helloword/ceshi。其中IP替换成自己的服务器IP地址。
进入CodeArts IDE查看,已经进入调试模式,可以将鼠标放置到变量上查看,前端浏览器访问参数,可以通过右上快捷调试进行调试。
至此,本案例内容全部完成。
注: 调试必须保证本地和线上运行的SpringBoot代码一致才能成功。
更多推荐
所有评论(0)