• tomcat及Jetty远程调试debug


    服务器Tomcat配置

    • 以 Linux 环境为例
    • Tomcat 安装在: /usr/program/tomcat7
    • Tomcat 的执行程序:/usr/program/tomcat7/bin/catalina.sh
    • 编辑 Tomcat 执行程序: vim /usr/program/tomcat7/bin/catalina.sh
      • 查找Tomcat的debug端口:/JPDA_ADDRESS=
      • 默认的debug端口是8000,我这里是配成了5005
      • 在bin目录下执行命令 sh catalina.sh jpda start ,可以启动tomcat并开启远程调试的端口

        其实官方教程是在文件的开头加上 export JAVA_OPTS='-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005',但是我不想让其他同事也是以debug模式启动。

    服务器Jetty配置

    • 以 Linux 环境为例
    • Tomcat 安装在 /usr/program/tomcat7
    • jetty 不像Tomcat那样需要安装,只要有jetty的jar包就可以启动我们想要启动的应用
    • 在启动应用的时候加入 agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
    • 就像这样:java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar {your jetty path} {your port} --path {your war} 1>/dev/null 2>&1 &

    在IntelliJ Idea中远程连接tomcat

    点击下图红框中的”run”按钮,在下拉菜单中点击“Edit Configurations…“:

    在弹出的菜单中点击“+“,再点击“Remote“:

    如下图,修改Port框中的数字为之前设置的Tomcatdebug端口号(默认8000),如果tomcat部署在其他机器上,请在Host输入框中填入tomcat所在机器的ip:

    设置完毕后点击下面的“ok“,回到主窗口后,点击下图红框中的下拉菜单,选中我们刚才新建的debug配置项,再点击小虫按钮,就能连接到tomcat的debug端口了:

    如果看到下图则代表成功了

    拓展

    • 标注 1:运行远程 JVM 的命令行参数;
    • 标注 2:传输方式,默认为Socket;
    • 标注 3:调试模式,默认为Attach;
    • 标注 4:服务器 IP 地址,默认为localhost,需要修改为目标服务器的真实 IP 地址;
    • 标注 5:服务器端口号,默认为5005,需要修改为目标服务器的真实端口号;
    • 标注 6:搜索资源是使用的环境变量,默认为,即整个项目。

    如上图所示,其中 标注 2 和 标注 3 又分别有两种分类,

    标注 2:传输方式,默认为Socket; 

    Socket:macOS 及 Linux 系统使用此种传输方式;
    Shared memory: Windows 系统使用此种传输方式。

    标注 3:调试模式,默认为Attach; 

    Attach:此种模式下,调试服务端(被调试远程运行的机器)启动一个端口等待我们(调试客户端)去连接;
    Listen: 此种模式下,是我们(调试客户端)去监听一个端口,当调试服务端准备好了,就会进行连接。

  • 相关阅读:
    GO 函数的参数
    GO 函数
    GO 指针
    GO 结构体
    GO 接口
    码云git常用命令
    GO Map的初步使用
    GO Slice
    GO 数组
    GO 键盘输入和打印输出
  • 原文地址:https://www.cnblogs.com/liclBlog/p/15349491.html
Copyright © 2020-2023  润新知