远程debug

tomcat 的Catalina.sh 里面有个参数 JPDA_ADDRESS=”5555”,默认为5555。启动tomcat时,用 ./catalina.sh jpda start 代替原本的 ./startup.sh 来启动,然后在Intellij 里面做如下配置:

本地连接远程服务器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’”的字样,就表示连接成功过了。

设置断点,开始调试

远程debug模式已经开启,现在可以在需要调试的代码中打断点了,比如:

如图中所示,如果断点内有√,则表示选取的断点正确。

现在在本地发送一个到远程服务器的请求,看本地控制台的bug界面,划到debugger这个标签,可以看到当前远程服务的内部状态(各种变量)已经全部显示出来了,并且在刚才设置了断点的地方,也显示了该行的变量值。

IDEA 远程debug的更多相关文章

  1. 设置tomcat远程debug

    查看端口占用情况命令: netstat -tunlp |grep 8000 tomcat 启动远程debug: startup.sh 中的最后一行 exec "$PRGDIR"/& ...

  2. Tomcat配置内存和远程debug端口

    一.配置内存 在/tomcat/bin/catalina.sh 中添加: JAVA_OPTS='-server -Xms2048m -Xmx2048m -XX:NewSize=768m -XX:Max ...

  3. 【Java远程debug】

    转自 http://blog.csdn.net/hongchangfirst/article/details/44191925 一.远程debug原理 Java远程调试的原理是两个JVM之间通过deb ...

  4. 远程debug调试java代码

    远程debug调试java代码 日常环境和预发环境遇到问题时,可以用远程调试的方法本地打断点,在本地调试.生产环境由于网络隔离和系统稳定性考虑,不能进行远程代码调试. 整体过程是通过修改远程服务JAV ...

  5. IntelliJ IDEA 15.0.2远程debug tomcat

    背景 在最近的java项目中使用了linux环境下编译的so文件,所以无法在window环境下debug,故此有了这篇文章 环境 jdk:jdk-8u101-linux-x64 os:CentOS r ...

  6. eclipse远程debug

    由于一般比较正规项目,都会有好几个版本,有时候在测试版本的时候,一切都好好的,然后提交到其他版本之后会有各种各样的问题,这个时候如果不能快速准确的定位到问题,那么我们就需要用 eclipse远程deb ...

  7. Eclipse远程debug服务器

    一,找端口号 二,Eclipse配置 三,测试是否成功 四,结束远程debug

  8. otter代码在IDEA远程DEBUG方法

    众所周知,Otter的代码打包后,是通过Jetty启动的,Otter代码的启动脚本中自带了开启Jetty远程DEBUG的脚本,所以我们只需要在启动Otter Manager和Otter Node的时候 ...

  9. IDEA 配置远程debug

    1. 启动远程服务配置debug参数 远程服务启动时配置如下debug相关参数 java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address= ...

  10. 如何开启远程debug调试功能?

    远程debug步骤: 1.vi /usr/local/sa/tomcat-ui/bin/catalina.sh 最顶上加export JPDA_ADDRESS=12345 2.vi /usr/loca ...

随机推荐

  1. SkyWalking —— 分布式应用监控与链路追踪

    SkyWalking 是一个应用性能监控系统,特别为微服务.云原生和基于容器(Docker, Kubernetes, Mesos)体系结构而设计.除了应用指标监控以外,它还能对分布式调用链路进行追踪. ...

  2. TensorFlow安装方法:附带坑解决办法

    >>添加Anaconda 仓库的镜像 Anaconda 安装包可以到 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 下载. ...

  3. MyBatis-01:环境搭建

    MyBatis-01:环境搭建 1.搭建实验数据库 CREATE DATABASE `mybatis`; USE `mybatis`; DROP TABLE IF EXISTS `user`; CRE ...

  4. 老猿学5G扫盲贴:N6接口用户平面协议栈对应的网络分层模型

    在网络通信模型中,都对应有分层的网络结构,如开放式系统互联(OSI)的七层模型(物理层.数据链路层.网络层.传输层.会话层.表示层和应用层)以及TCP/IP四层(网络接口层.网络层.传输层和应用层)模 ...

  5. PyQt(Python+Qt)学习随笔:QTreeView树形视图的animated属性

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QTreeView树形视图的animated属性用于控制视图在展开或收缩分支时是否展示动画,如果对应 ...

  6. Linux用户配置文件

    一,用户信息文件 /etc/passwd 1,用户管理简介 1,越是对服务器安全性要求高的服务器,越需要建立合理的用户权限等级制度和服务器操作规范 2,在Linux中主要是通过用户配置文件来查看和修改 ...

  7. DVWA SQL Injection LOW

    最近在学习SQL注入,初出茅庐,就从dvwa开始吧 sql注入可以通过sqlmap工具实现,为了更好地了解原理,这里主要是手工注入 注入的一般流程为: 1,找到注入点,此步骤可通过工具 2,判断注入类 ...

  8. justify-content属性详解

    justify-content 定义了flexbox flexbox内的元素在主轴的方向上的对齐方式. 它可以设置以下几种对齐方式: 靠近一方 justify-content:center: /*fl ...

  9. new一个对象时,会经历哪些步骤

    (1)创建一个对象:(2)将构造函数的作用域赋值给新对象(因此this就指向了这个新对象):(3)执行构造函数中的代码(为这个新对象添加属性):(4)返回新对象

  10. PHash从0到1

    背景 在重复图识别领域,对于识别肉眼相同图片,PHash是很有用的,而且算法复杂度很低.它抓住了 " 人眼对于细节信息不是很敏感 " 的特性,利用DCT变换把高频信息去掉,再加上合 ...