您的位置:首页 > 编程语言 > Java开发

Eclipse远程调试

2017-08-07 00:00 204 查看
#最近老是遇到一些古怪的问题,一些很基础的功能总出问题,在本地环境测试通过,在生产环境上验证也没有问题,但是在预发布环境就一直有问题,百思不得姐,一直怀疑预发布环境有什么问题,于是就有了下面的内容#

其实这样操作是不对的,尤其不要轻易在生产环境上尝试,出了问题概不负责。

但这样做的好处在于能在本地代码中调试其他机器中发生的问题,而且这些问题不太好重现的时候,这样做就能够迅速定位问题所在。

1.首先在远程机器上的tomcat支持远程调试功能,需要在catalina.sh中第一行的位置增加以下代码:

CATALINA_OPTS="-Xdebug  -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"

2.启动tomcat,如下命令:

./catalina.sh  jpda start

tomcat下bin目录中执行

观察打印日志可见:

Aug 07, 2017 5:28:06 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory /home/xxx_tomcat/webapps/docs
Aug 07, 2017 5:28:06 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deployment of web application directory /home/xxx_tomcat/webapps/docs has finished in 24 ms
Aug 07, 2017 5:28:06 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-80"]
Aug 07, 2017 5:28:06 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Aug 07, 2017 5:28:06 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 12617 ms
Listening for transport dt_socket at address: 8000

3.紧接着在本地的eclipse中配置如下图所示:

首先在debug功能下配置Debug Configurations 如下图所示



进入到配置界面:



选择Remote Java Application ,双击或者邮件选择new:



name:这个名字可以随便取,你高兴就好;

project:这个是本地的源代码项目,不要选错;

host:远程机器的IP地址;

port:是配置的端口;

将Allow termination of remote VM 勾选;

红色部分是必填的内容,其他默认即可。

运行debug即可。

最后容易出现的问题连接不上服务器,检查下本地和目标机器的防火墙,关闭之后再次尝试,还有问题请自行研究。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  远程调试 linux