9、Skywalking的调试-远程调试OAP

2021-05-26  本文已影响0人  rock_fish
大致分以下几个步骤

前提:源码和远程应用的代码是一致的

  1. 调整远程OAPServer程序的VM启动参数,激活远程调试模式
  2. 修改sw源码的idea运行、调试设置,配置远程deubg选项
  3. 启动远程OAPServer,然后通过idea开始远程调试。
1.调整远程OAPServer程序的VM启动参数
cd apache-skywalking-apm-bin-es7\bin
vi oapService.sh

修改 oapService.sh , 激活远程调试,阻塞式监听5050端口。

image.png

实际内容如下:

OAP_OPTIONS=" -Doap.logDir=${OAP_LOG_DIR}"

DEBUG_OPTIONS=" -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5050"

eval exec "\"$_RUNJAVA\" ${JAVA_OPTS} ${DEBUG_OPTIONS} ${OAP_OPTIONS} -classpath $CLASSPATH org.apache.skywalking.oap.server.starter.OAPServerStartUp \2>${OAP_LOG_DIR}/oap.log 1> /dev/null &"

启动OAPService

$ sh ./oapService.sh
Listening for transport dt_socket at address: 5050//等待调试
2. skywalking源码项目的debug配置中添加 Remote JVM Debug
image.png image.png
3. 开始远程调试
  1. 启动OAPServer应用(保证激活了远程调试,防护墙放开了端口)
  2. 在oap的入口类OAPServerStartUp的入口方法main中打断点,启动远程调试,可看到代码执行 停滞在断点处。
image.png
上一篇 下一篇

猜你喜欢

热点阅读