在工作中,使用远程 debug进行调试 进行一下全方位的记录
背景前提 : 项目目录下已经编写好并存在 start.sh脚本
1.先通过 Xshell进入到项目 的bin 路径下 cd /usr/local/XXXX/core/XXXtask/bin/
2.执行 ps -ef|grep XXXtask 查看当前的进程的id
我们可以看到当前的进程id号
3.执行 kill -9 进程id 也就是 kill -9 16431 把进程杀死
- 再执行一次 ps -ef|grep XXXtask 查看是否杀死
6.最后在当前目录下执行 ./start.sh debug 以debug形式重启 查看日志 重启是否成功
然后就是在 idea上进行操作了
使用特定JVM参数运行服务端代码
要让远程服务器运行的代码支持远程调试,则启动的时候必须加上特定的JVM参数,另外这一段参数,放要在-jar 或 ${main_class}的前面,这些参数是:
-Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address= d e b u g p o r t 其 中 的 {debug_port} 其中的 debugport其中的{debug_port}是用户自定义的,为debug端口,本例以5555端口为例。
本地连接远程服务器debug端口
打开Intellij IDEA,在顶部靠右的地方选择”Edit Configurations…”,进去之后点击+号,选择”Remote”,按照下图的只是填写红框内的内容,其中host为远程代码运行的机器的ip/hostname,port为上一步指定的debug_port,本例是5555
然后点击Apply,最后点击OK即可
启动debug模式
现在在上一步选择”Edit Configurations…”的下拉框的位置选择上一步创建的remote的名字,然后点击右边的debug按钮(长的像臭虫那个),看控制台日志,如果出现类似“Connected to the target VM, address: ‘xx.xx.xx.xx:5555’, transport: ‘socket’”的字样,就表示连接成功过了。