项目远程调试

背景

在Java项目开发的过程中,本地调试是非常普遍的,但是有些情况也是本地调试所做不到的,例如Maven项目等。

其实这时候就需要远程调试,不管开发工具是Eclipse,还是Netbeans,异或是IDEA,都是可以实现远程调试的,当然这也离不开应用服务器的支持。

具体说明

列举两个应用服务器的实例,一个为resin(4.0版本,以前版本的配置方式可以自行查找)服务器,一个为tomcat服务器。

resin服务器

过resin服务器的童鞋都应该清楚,resin服务器的核心配置文件是resin.xml,进行远程调试的话,需要在resin.xml文件中配置一下<server-default>标签的子标签<jvm-arg>。

具体配置如下:
<jvm-arg>-Xnoagent</jvm-arg>
<jvm-arg>-Xdebug</jvm-arg>                      
<jvm-arg>-Djava.compliler=NONE</jvm-arg>
<jvm-arg>-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8082</jvm-arg>
这里需要注意的是address的端口号,这个是监听jvm的端口,如果远程调试是需要输入这个端口号的。配置完成之后重启resin。
后面就需要配置IDE环境了,每个IDE都有下面的配置:

remot java application

在IDE中需要配置一个Remote java application的配置并且运行找到我们要部署的项目,并且输入主机地址和端口号:

配置

在运行之前确保resin中已经部署了此项目,如果部署了就可以执行了,这时候在IDE中就可以设置断点了,当访问的时候就可以执行到断点处。

Tomcat服务器

配置tomcat,主要是添加一个文件debug.bat,文件内容为
set JPDA_ADDRESS=8000 
set JPAD_TRANSPORT=dt_socket 
SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8899 
startup
其实这里和resin的类似,address是监听jvm的端口号,这时候以后启动tomcat的时候仅仅启动debug.bat文件即可。

剩下的就是IDE的配置,和resin是一样的。

提示

这里提到的一点就是,如果不想每次打包项目部署的话,可以将resin或者tomcat服务器的部署项目位置直接改成要调试的项目位置即可。

总结

有了远程调试,有些项目的调试不再用打印日志的方式了,还是很方便的。
### 配置 PHPStorm 实现本地项目远程服务器之间调试 #### 设置远程解释器 为了实现本地项目远程服务器间的调试,需先配置远程PHP解释器。这可以通过打开“Preferences”(首选项),在Ubuntu上则是在菜单栏中的“File”(文件)->“Settings”(设置)中找到它,在“Languages & Frameworks”(语言和框架)下选择“PHP”,点击右上角的“…”按钮,选择“Interpreter”(解释器)选项卡来完成。单击“+”按钮添加新的解释器,在弹出窗口中选择“Remote”(远程)并确认【^4】。 #### 填写SSH凭据和其他必要信息 接着,在“Name”(名称)字段中输入一个合适的名称;于“Configuration”(配置)部分,选取“SSH Credentials”(SSH凭据)并录入远程服务器的连接详情。“PHP executable”(PHP可执行文件)字段应指定到远程机器上的PHP二进制位置,“PHP ini file”(PHP配置文件)字段内要给出Xdebug配置文档的位置,比如`/etc/php/7.4/mods-available/xdebug.ini`【^4】。 #### 添加远程调试配置 随后,应当创建一个新的运行/调试配置用于支持远程调试功能。具体操作为phpstorm里边,点击Add Configuration...,在此处新增加一项PHP Remote Debug【^3】。 #### 映射目录结构 确保本地工作区同远程主机上的对应路径相匹配非常重要。为此,需要正确设定目录映射关系以便让IDE了解两者间的关系【^1】。 #### 测试连接 最后一步是验证所有设置无误后尝试启动一次调试会话,观察是否能顺利建立连接以及断点能否正常触发等工作状态。 ```bash # 示例命令行测试ssh连通性和xdebug安装情况 ssh user@remote.server.ip "php -m | grep xdebug" ```
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值