【背景】大多数人的办公环境都是windows,会遇到一些难以复现的问题,需要在服务器上面进行实地debug调试。本文讲述如何远程debug部署在服务器上面的java程序。
1. 修改启动脚本
上文已经讲过了如何找到dsf和tomcat启动脚本的方法。找到对应服务容器的启动脚本,在jvm参数配置中加入:
启动服务。到此,服务器端的配置结束。
【参数说明】
- jdwp:是 Java Debug Wire Protocol的缩写
- server=y表示是监听其他debugclient端的请求
- address=8000表示服务会在端口号8000监听debug请求,客户端必须设置这个端口号才能进行dubug
- suspend表示是否在调试客户端建立连接之后启动 VM。如果为y,那么当前的VM就是suspend直到有debug client连接进来才开始执行程序。如果你的程序不是服务器监听模式并且很快就执行完毕的,那么可以选择在y来阻塞它的启动。
- (其他的我也不知道了,大家自己查一下哈)
2. eclipse点击Debug旁边的下拉菜单, 点击Debug Configurations,找到Remote Java Application,新建一个remoteJavaApplication
3. 在右侧出现的配置信息页面,根据上面jvm参数填写的信息,配置服务器的ip和端口号,还有项目名称
4. 启动本地debug服务
debug启动第三步中配置好的remote java application,切换到debug透视图,打上断点,尽情的debug吧~~~。
5. 停止debug
点击下图中的Disconnect图标结束debug之旅。由于服务是远程启动的,本地不能停止服务,只能断开链接。
然后去服务器上面恢复启动脚本,然后重启服务。保证服务运行环境不受任何影响。