前言
在知道远程调试这个方法之前每次在服务器上测试代码都是在本地代码中打各种log,然后重新打包,上传,调试,这样比较费力费时,本文主要介绍java远程调试这个功能的入门版。本文以Intellij IDEA为例讲解怎么使用远程调试。
远程调试解决的问题
1)解决在我本地是好的啊,这个世界性难题
2)测试环境碰到问题,直接连上debug模式,直接在测试环境上进行debug分析
3)遇到一些诡异的问题,只是看日志是看不出端倪的
4)调试一些只能在测试环境执行的流程
5)本地性能不行
6)生产调试
配置及使用
1、服务器Tomcat配置
在 Linux 环境上安装Tomcat: /usr/program/tomcat7,编辑 Tomcat 执行程序:
vim /usr/program/tomcat7/bin/catalina.sh查找Tomcat的debug端口:/JPDA_ADDRESS= 默认的debug端口是8000,我这里是配成了5005在bin目录下执行命令sh catalina.sh jpda start,可以启动tomcat并开启远程调试的端口
2、在IntelliJ Idea中远程连接tomcat
点击Idea中的bar栏中的”run”按钮,在下拉菜单中点击“Edit Configurations…“:
在弹出的菜单中点击左上角的“+“,再选择“Remote“:
如下图,修改Port框中的数字为之前设置的Tomcatdebug端口号(默认8000),如果tomcat部署在其他机器上,请在Host输入框中填入tomcat所在机器的ip:
设置完毕后点击下面的“ok“,回到主窗口后,点击Idea中的bar栏中的”run”按钮中的下拉菜单“Debug...”选择刚配置的aggregate_trcb(可以使用快捷键Alt+Shift+F10或者Idea左上角可以看到),选中我们刚才新建的debug配置项,再点击小绿虫按钮,就能连接到tomcat的debug端口了:
如果看到下图则代表成功了
由此配置了远程调试后,进而想到为了更便捷的将代码传到服务端。介绍一下Idea的自动部署模块。
3、自动部署
每次开发Java项目时,对于所有Java开发人员来说,最枯燥的不是修改代码,而是实时将自己的代码上传至远程服务器,进行部署测试,笔者最初开发也是这样,通过使用Xshell 5,WinSCP等工具对项目进行远程部署测试,每次都得花大量时间,对开发和部署来说,太过于繁琐,后来发现IntelliJ IDEA具有将Java项目部署到远程服务器的功能,为开发提供了很大的帮助。
这里的自动部署指的是将本地发布的war包或者编译好的文件一键上传到服务器的指定位置。不再需要使用各类工具或者命令进行发布操作。减少了发布代码的时间能够提升开发调试的效率,可以解放SSH软件安装
配置idea连接服务器上传本地文件,可以使用Idea的Mapping功能将本地文件与服务器指定位置进行映射,轻松上传到服务器指定位置。适用于开发阶段频繁的修改缺陷及调试性能问题的场景。
开启功能位置:Tools --> Start SSH session…
配置服务器信息后连接成功
配置idea连接服务器的Mappings(第一次需要的配置,后续此步骤不需要再次执行)
首先选择Tools-->deployment-->Configuration
增加一个SFTP Root path :/home/zwf这里注意一下。和下一个mappings里面的DeployMent Path 配合起来是你要将代码传入服务器地址的位置。(查看以下2图)。
到此本地与服务器的连接与路径已经配置好了。
鼠标选中要上传的文件或文件夹按(Ctrl+Alt+Shift+X)弹出上传的SFTP
然后来看File Transfer 是否上传成功。
为了更好地配合开发测试的使用,再介绍一下idea中链接数据库和发送restful请求。
4、连接数据库
打开IDEA-->Setting-->Plugins-->DB Navigator
使用DataBase的优点:
1)对应我们java中的代码表名部分直接双击shift即可显示查询数据源的表数据。
2)还可以查询存储过程代码
3)可以进行一般的CURD操作
4)减少软件的打开数量
5、发送Restful请求
在开发web类项目时候需要发送restful请求,为了不再使用浏览器发送请求或者postman工具等idea可以接单的使用。
位置:Tools --> HTTP Client --> Test RestFul Web Service
说在最后的话,Idea社区版足够支撑正常的开发工作。在利用好Ide中集成的工具,在工作中通过减少开发工具的开启数量,减少软件间的切换,减少开发机器的性能消耗,从而提升工作效率。