Debug技巧:条件断点和远程Debug
一、断点:
1、条件断点
本以为条件断点很难,其实就这样。
二、远程Debug
1、首先看服务器是不是在Debug模式下工作
不是则进行(tomcat/bin/catalina.sh)配置。
-Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n
具体解释:
- -Xdebug : 启用调试特性。
- -Xrunjdwp: 在目标 VM 中加载 JDWP 实现。它通过传输和 JDWP 协议与独立的调试器应用程序通信。下面介绍一些特定的子选项。
- transport 这里通常使用套接字传输。但是在 Windows 平台上也可以使用共享内存传输。
- address 这是连接的传输地址。如果服务器为 n ,将尝试连接到该地址上的调试器应用程序。否则,将在这个端口监听连接。
- server 如果值为 y ,目标应用程序监听将要连接的调试器应用程序。否则,它将连接到特定地址上的调试器应用程序。
- suspend 如果值为 y ,目标 VM 将暂停,直到调试器应用程序进行连接。
2、本地IDEA进行远程Debug:
IDEA中添加 Remote Server:
只需输入机器IP和端口即可,其他无需管太多,IDEA会自动帮你搞好。
3、本地启动Remote Server:
控制台输出如下即表明成功:

后续在代码中需要debug的地方打断点,然后调用远程机器上的服务即可进入断点。
4、结束
5、远程Debug的参考:
- 详细解释原理:https://www.ibm.com/developerworks/cn/opensource/os-eclipse-javadebug/#artrelatedtopics
但实际上看不太懂,理解就好。 - 极客学院实操参考: http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/remote-debugging.html
Debug技巧:条件断点和远程Debug的更多相关文章
- eclipse如何远程debug/断开远程debug
eclipse如何远程debug? 当你的代码已经部署到生产或者测试环境的时候,你如何debug判断线上的问题呢? debug之前必须保证本地代码和远程代码完全一致,否则将不能建立连接 在eclips ...
- IDEA远程DEBUG Tomcat配置
IDEA远程DEBUG Tomcat配置 IDEA远程DEBUG Tomcat很简单,配置如下: 1.修改tomcat服务器配置 打开tomcat/bin/catalina.sh 在空白处添加如下参数 ...
- 设置tomcat远程debug
查看端口占用情况命令: netstat -tunlp |grep 8000 tomcat 启动远程debug: startup.sh 中的最后一行 exec "$PRGDIR"/& ...
- Tomcat配置内存和远程debug端口
一.配置内存 在/tomcat/bin/catalina.sh 中添加: JAVA_OPTS='-server -Xms2048m -Xmx2048m -XX:NewSize=768m -XX:Max ...
- 【Java远程debug】
转自 http://blog.csdn.net/hongchangfirst/article/details/44191925 一.远程debug原理 Java远程调试的原理是两个JVM之间通过deb ...
- 远程debug调试java代码
远程debug调试java代码 日常环境和预发环境遇到问题时,可以用远程调试的方法本地打断点,在本地调试.生产环境由于网络隔离和系统稳定性考虑,不能进行远程代码调试. 整体过程是通过修改远程服务JAV ...
- IntelliJ IDEA 15.0.2远程debug tomcat
背景 在最近的java项目中使用了linux环境下编译的so文件,所以无法在window环境下debug,故此有了这篇文章 环境 jdk:jdk-8u101-linux-x64 os:CentOS r ...
- eclipse远程debug
由于一般比较正规项目,都会有好几个版本,有时候在测试版本的时候,一切都好好的,然后提交到其他版本之后会有各种各样的问题,这个时候如果不能快速准确的定位到问题,那么我们就需要用 eclipse远程deb ...
- Eclipse远程debug服务器
一,找端口号 二,Eclipse配置 三,测试是否成功 四,结束远程debug
随机推荐
- eclipse项目 乱码
- Maven实战(一)搭建Nexus伺服器
在搭建伺服器之前我们先要说明一下为什么要搭建伺服器以及伺服器的作用是什么.在进行分布式开发中maven工具的使用可以极大的提高我们管理项目颗粒的效率,既然是管理颗粒那总得有地方存放才行,而伺服器扮演的 ...
- OpenGL数据类型及相应C数据类型
- java强行删除文件(针对进程正在使用的文件的删除)
boolean result = f.delete(); if(!result) { System.gc(); f.delete; }
- [转载]ecmall语言包程序
[转载]ecmall语言包程序 (-- ::) 转载▼ 标签: 转载 收藏了 原文地址:ecmall语言包程序作者:我思故我在 执行顺序 登陆后台后 最先执行的文件是 default.app.php ...
- Java 堆内存
堆内存 Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象. 在 Java 中,堆被划分成两个不同的区域:新生代 ( Young ).老年代 ( Old ).新生代 ...
- 机动车驾驶员计时培训系统符合性检测平台TCP服务器设计和开发
驾校计时平台的TCP服务器,主要用于接入计时终端,计时终端与计时平台.计时平台与省级监管服务平台.省级监管服务平台与全国驾培平台的卫星定位过程明细数据和学时过程明细数据接口应使用基于JT/T 808标 ...
- 字符串操作:int 转 string
strstream ss; string ch; ss<<i; ss>>ch;
- 如何让linux加载当前目录的动态库
debian从7.0开始支持multiarch,64位库的路径改到/usr/lib/x86_64-linux-gnu了,mint.ubuntu这些衍生版有没有跟着改我就不清楚了. deepin lin ...
- c# 常用操作保留
RanDom如何提高生成随机数的随机性 一个在线考试系统的项目,需要从题库中随机抽取试题,但是如果直接 Random ran=new Randon(),ran.Next(nummin,nummax); ...