一般来说我们本地环境使用Tomcat,生产环境使用GlassFish。

准备工作

  • 明确远程服务器的 IP 地址,比如:192.168.92.128
  • 关掉服务器防火墙:service iptables stop

【commandline arguments】agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

  • Linux(有单引号):export JAVA_OPTS='-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005'
  • Windows(没有单引号):set JAVA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

【配置远程的Tomcat】服务器以 Linux 环境为例

  • Tomcat 安装在 /usr/program/tomcat7
  • Tomcat 的执行程序:/usr/program/tomcat7/bin/catalina.sh
  • 编辑 Tomcat 执行程序:vim /usr/program/tomcat7/bin/catalina.sh(Windows 是编辑:catalina.bat)
    • 在该文件的最上面,添加我们刚刚复制的那句话:export JAVA_OPTS='-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005'

【配置】服务器 Jetty 配置

  • 同样是 Linux 环境
  • jetty 不像Tomcat那样需要安装,只要有jetty的jar包就可以启动我们想要启动的应用。
  • 在启动应用的时候加入之前上边我们copy的-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 &

【DEBUG部分】从左到右

一、快捷键F8  【STEP OVER】越过方法进入下一步

二、快捷键F7  【STEP INTO】 进入方法体内下一步

    三、Alt + Shift + F7 【Force STEP INTO】强制进入方法体 ,一层层剥开它的皮...

    Shift + F7 【SMART STEP INTO】断点所在行上有多个方法调用,会弹出进入哪个方法

快捷键F9  【Resume Program】恢复程序运行,但是如果该断点下面代码还有断点则停在下一个断点上       可能我们就是想要到下一个断点。

    四、Shift + F8【STEP OUT】跳出,继续下一个断点,和Resume Program效果相同。

五、【DROP FRAM 月光宝盒】回到当前停住的断点的上一层方法上,可以让过掉的断点重新来过

    【一览纵山小】DROP FRAM   我们进入了方法体内,想跑出方法体外。

【酷炫调试】

【拉起一个对象扔到Watch】鼠标悬停在对象上 2 秒左右就可以。

【比如我们想看一个对象的String类型,或者经过 求值 】拿起变量就是用。Alt + F8 【Evaluate Expression】选中对象,弹出可输入计算表达式调试框,查看该输入内容的调试结果

【F9 ResumeProgram跨越长城】当我们需要过掉后面的所有断点的时候,不需要去掉这些断点,

只需要点击左下角断点变成灰色,然后我们再在按快捷键 F9 即可过掉当前和后面所有的断点。

【条件断点】Ctrl + Shift + F8 【view breakpoints】查看所有断点,指定断点进入条件

【下一站怎么才能遇见】【指定条件下 才进入断点】没达到条件就跳过了

  【让子弹再飞一会】Pass count 表示跳过多少次后开始步入断点 ,使用场景:for循环个几遍,我再看结果。

   【临时断点 一次性断点】勾选Remove Once hit

   【You jump I jump】直到某个断点进入后  才Enabled 。。。Disable Until Selected BreakPoint

IDEA 远程调试 Tomcat 和 Debugger的更多相关文章

  1. 如何用myeclispe远程调试tomcat

    如何用myeclispe远程调试tomcat 在工作开发中,通常用本机进行代码编写,然后将编好的工程部署到测试服务器进行测试.往往测试服务器并不是自己的本机,因此对调试带来众多不便.今天学习可以用my ...

  2. idea远程调试tomcat

    在开发Spring Boot应用的时候,会发现有的时候在idea工具中运行程序和打包程序后在tomcat下运行程序的结果会不太一样,因此就需要远程调试tomcat. 首先在tomcat目录下的bin目 ...

  3. MyEclipse远程调试Tomcat

    程序就是这么一个神奇的东西,有时你的一个项目,在本机上运行得还是好好的,可当你把这货放到了服务器上,同样的条件就是结果不一样.于是就灰常想看一下程序在远程运行时候的状态,希望让程序在远程运行,还可以在 ...

  4. 二十八、详述 IntelliJ IDEA 远程调试 Tomcat 的方法

    在调试代码的过程中,为了更好的定位及解决问题,有时候需要我们使用远程调试的方法.在本文中,就让我们一起来看看,如何利用 IntelliJ IDEA 进行远程 Tomcat 的调试. 首先,配置remo ...

  5. IntelliJ IDEA 远程调试 Tomcat 的方法

    在调试代码的过程中,为了更好的定位及解决问题,有时候需要我们使用远程调试的方法.在本文中,就让我们一起来看看,如何利用 IntelliJ IDEA 进行远程 Tomcat 的调试. 首先,配置remo ...

  6. VS2015 远程调试:Remote Debugger

    一.关于Remote Debugger 使用VS远程调试器Remote Debugger,我们可以调试部署在不同机器上的应用程序,如桌面应用程序和Asp.Net应用程序. 二.Remote Debug ...

  7. 详述 IntelliJ IDEA 远程调试 Tomcat 的方法

    首先,配置remote: 如上图所示,点击Edit Configurations,进入如下界面: 如上图所示,我们进入了Run/Debug Configurations界面,然后点击左上角的+,选择R ...

  8. java远程调试(断点)程序/tomcat( eclipse远程调试Tomcat方法)

    tomcat远程调试: 1.Linux中配置tomcat在catalina.sh中添加如下CATALINA_OPTS="-Xdebug  -Xrunjdwp:transport=dt_soc ...

  9. eclipse远程调试Tomcat方法(测试成功并且说说遇到的坑)

    转自:http://blog.csdn.net/afgasdg/article/details/9236877 PS:文中容易引起歧义的地方已经做了修改:另外,本人参照以下步骤操作,结果无法调试,后来 ...

随机推荐

  1. bzoj3756pty的字符串(后缀自动机+计数)

    题目描述 题解 我们可以先对trie树建出广义SAM,然后维护一下right集合大小(注意right集合在广义SAM上的维护方式). 然后把匹配穿往广义SAM上匹配,假设现在匹配到了x节点,那么x的所 ...

  2. numpy nan值的判断

    我发现在数据处理中非常常见的就是nan值的判断,筛选数据尤为常见, 判断数据是否为nan,前提是np.float类型数组,但在应用于对象数组时会引发TypeError # 返回bool类型 np.is ...

  3. MyBatis深入浅出--入门

    mybatis概述 mybatis简介 MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架. MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集. ...

  4. js click 与 onclick 事件绑定,触发与解绑

    click 与 onclick 1.onclick 事件会在对象被点击时发生. <input id="btn1" type="button" onclic ...

  5. mui 对话框 点击按钮不关闭对话框的办法

    目前版本的 mui.js 点击对话框的按钮只能关闭对话框 做如下修改 点击按钮后return false 即可

  6. 通过WebChannel/WebSockets与QML中的HTML交互

    来源:通过WebChannel/WebSockets与QML中的HTML交互 GitHub:八至 作者:狐狸家的鱼 本文链接:QML与HTML交互 在查询QML与HTML之间通信交互时资料很少,这篇文 ...

  7. JQuery选择器,事件,DOM操作,动画

    JQuery是一个JavaScript代码库,或者是JavaScript框架: 1.选择器:(和CSS选择器一致) 基本选择器:ID选择器$('#div1');Class选择器('.div1');标签 ...

  8. undefined is not an object(evaluating '_react3.default.PropTypes.shape)

    手机红屏报这个错时的解决办法: npm uninstall --save react-native-deprecated-custom-components npm install --save ht ...

  9. Python 的文件处理

    Python提供了os.shutil.glob 等开发包处理文件 一.OS包 os包中包含了目录创建.目录删除.文件创建.执行系统命令等方法. import os remove()   删除文件 mk ...

  10. mysql ibdata1损坏

    机房一台服务器上的mysql运行一段时间了,突然出现了一个很奇怪的现象:重启后无法恢复了!准确情况是:启动mysql后随即就又关闭了. 查看mysql错误日志如下: 160920 22:41:41 m ...