Dubbo - 远程debug

  • 由于Dubbo的特性是远程调用,因此正常来说无法在本地进行debug

    • 因为你调用的方法在别台机器上跑,你只能知道给他的input和他返回的结果,但没办法知道这个接口内部的执行,所以也没办法在裡面打断点进行debug

    • 就算在本地有dubbo代码,在本地的dubbo代码打断点也没办法debug,因为实际上调用的是远程服务器上的dubbo代码,而不是本地的dubbo代码

    • 所以如果要对远程服务器上的dubbo代码进行debug,需要进行特别的设置

  • 远程debug

    • 假设有2台机器,一台机器是本地平常写代码的机器,另一台是服务器,专门运行dubbo

    • 首先在dubbo运行的服务器上运行以下指令

      • 100.80.169.72是本地写代码的机器的ip

      • 9097是指将dubbo服务透过socket转发出来的端口 (9097可以换,只要跟idea的配置一致就可以)

      socat TCP4-LISTEN:9097,fork,range=100.80.169.72/32 TCP4:127.0.0.1:9015
    • 在本地机器上的idea进行配置

      • 新增一个remote连接


      • 将Host设为dubbo服务器的ip,Port设为9097 (只要和TCP-LISTEN的端口一致即可)


      • 如此就可以在本地的dubbo代码上打断点,这个断点位置会透过socket传到远程dubbo服务器上,因此我们就可以在本地对远程的dubbo代码进行debug


猜你喜欢

转载自blog.csdn.net/weixin_40341116/article/details/80670533