tomcat及Jetty远程调试debug

摘要:
服务器Tomcat配置以Linux环境为例Tomcat安装在:/usr/program/tomcat7Tomcat的执行程序:/usr/program/tomcat7/bin/catalina.sh编辑Tomcat执行程序:vim/usr/program/tomcat7/bin/catalina.sh查找Tomcat的debug端口:/JPDA_ADDRESS=默认的debug端口是8000,我这

服务器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=
      tomcat及Jetty远程调试debug第1张
    • 默认的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…“:

tomcat及Jetty远程调试debug第2张

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

tomcat及Jetty远程调试debug第3张

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

tomcat及Jetty远程调试debug第4张

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

tomcat及Jetty远程调试debug第5张

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

tomcat及Jetty远程调试debug第6张

拓展

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

tomcat及Jetty远程调试debug第7张

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

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

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

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

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

免责声明:文章转载自《tomcat及Jetty远程调试debug》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇js 获取元素高度和宽度Android 异步框架 RxJava2下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

eclipse打断点的调试

  对于程序员来说,最重要的技能之一其实是在发现问题的时候,定位问题,然后才能解决问题。   发现问题的能力十分的重要。而debug的水平就是基础。   打断点之后,操作相应的步骤,然后eclipse会跳转到相应的程序行,然后叜一步一步的F6,调试代码   这里记住以下快捷键。   F5:走到某一步,十是个函数,按下F5,可以进入到函数之中。   F6:逐...

md /mdd /ml /mt/mtd

VC编译选项 多线程(/MT)多线程调试(/MTd)多线程 DLL (/MD)多线程调试 DLL (/MDd)C 运行时库                        库文件Single thread(static link) ML            libc.libDebug single thread(static link) MLd      ...

python的调试

在python脚本中可以用pdb进行调试,具体方法如下: 1.使用run语句调试,格式为: run(statement[,globals[,locals]]) 参数含义如下 statement:要调试的语句块,以字符串的形式globals:可选参数,设置statement运行的全局环境变量locals:可选参数,设置statement运行的局部环境变量 以...

Visual Studio Code 的 launch.json 解析

{ "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", //配置名称,将会在启动配置的下拉菜单中显示 "type": "cppdbg", //配置类型,这里只能为cppdbg...

2019-2020-1 20175302 201752314 20175316 实验二 固件程序设计

2019-2020-1 20175302 201752314 20175316 实验二 固件程序设计 实验二 固件程序设计-1-MDK 实验内容 0.注意不经老师允许不准烧写自己修改的代码 1.两人(个别三人)一组 2.参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.1-1.5安装MDK,JLink驱动,注意,要用系统管理员身分运行uVi...

第51章 设置FLASH的读写保护及解除—零死角玩转STM32-F429系列

第51章     设置FLASH的读写保护及解除 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege 本章参考资料:《STM32F4xx 中文参考手册》、《STM32F4xx规格书》、库说明文档《stm32f4xx_dsp_stdperi...