一. 背景:

在测试工作中,为方便发现代码中的逻辑问题,尝试使用远程debug模式,在测试过程中走查代码,不仅可以辅助测试减少与开发的沟通成本,更便于了解业务提升测试深度。

二. 配置方式:

1. 调试的配置方式主要为设置JVM的参数,使之工作在debug模式下,常用参数为:

-Xdebug -Xrunjdwp:transport=dt_socket,address=8012,server=y,suspend=n

2. 服务器端配置:

若项目为web项目,可在tomcat的启动程序如catalina.sh中添加如下:

若项目为javaapp项目,可在项目的default文件中添加如下:

3. idea配置

打开idea中的run/debug configurations, 选择remote类型,地址配置为服务器地址,端口配置为上述配置参数中的address,

4. 重启项目,即可开启远程debug模式

三. 参数解释:

1. JAVA支持调试功能,并提供了一个简单的调试工具JDB,其可支持设置断点及线程级的调试;

2. 各参数解释:

-Xdebug是通知JVM工作在DEBUG模式下

-Xrunjdwp是通知JVM使用(java debug wire protocol)来运行调试环境。该参数同时了一系列的调试选项:

transport指定了调试数据的传送方式,dt_socket是指用SOCKET模式,另有dt_shmem指用共享内存方式,其中,dt_shmem只适用于Windows平台。
server参数是指是否支持在server模式的VM中.
onthrow指明,当产生该类型的Exception时,JVM就会中断下来,进行调式。该参数可选。
launch指明,当JVM被中断下来时,执行的可执行程序。该参数可选
suspend指明,是否在调试客户端建立起来后,再执行JVM。
onuncaught(=y或n)指明出现uncaught exception 后,是否中断JVM的执行.

参考文档:

http://calvinliu.iteye.com/blog/876009

http://ks.netease.com/blog?id=8113

idea下远程debug配置的更多相关文章

  1. tomcat 远程debug配置,教你远程调试代码,解决线上故障

      IDEA远程DEBUG Tomcat很简单,配置如下: 1.修改tomcat服务器配置 打开tomcat/bin/catalina.sh 在空白处添加如下参数 CATALINA_OPTS=&quo ...

  2. Tomcat远程debug配置

    当我们需要定位生产环境问题,而日志又不清晰的情况下,我们可以借助Tomcat提供的远程调试,设置如下: // Linxu系统: apach/bin/startup.sh开始处中增加如下内容: decl ...

  3. 远程debug配置

    1. 第一步,debugconfig 2. 在启动文件中添加 Set JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=,server=y ...

  4. IntelliJ IDEA 15.0.2远程debug tomcat

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

  5. Hadoop分布式远程Debug方式

    1.进入目录修改配置文件 cd /cloud/hadoop-2.2.0/etc/hadoop vim hadoop-env.sh2.加入内容(文本最后): #远程调试NameNode export H ...

  6. 在windows、widfly环境下,远程debug

    最近:一直想弄一个远程debug模式,奈何没有接触过,导致畏首畏尾,不过,两天时间终于搞出来了雏形,真的是一个坑一个坑踩过来的. widfly环境:widfly8 准备工作:远程运行环境:省略,前面一 ...

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

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

  8. myeclipse配置下tomcat debug启动很无比慢

    myeclipse配置下tomcat debug启动很无比慢,而run启动很快今天照常使用MyEclipse 6.5 Blue Edition进行开发,但是却遇到一个怪问题.在MyEclipse环境下 ...

  9. CentOS6.5下VNC Server远程桌面配置详解

    参考文献: (总结)CentOS Linux下VNC Server远程桌面配置详解 远程桌面连接工具VNC——license Key 我的下载地址为 太平洋下载 VNC连接黑屏的问题 centos 6 ...

随机推荐

  1. 【刷题笔记】LeetCode 48. Rotate Image

    题意 原地顺时针翻转一个 n*n 的矩阵 图解 下面例子中用 5*5 矩阵做示例,如下图,我们要把该矩阵顺时针翻转90度,并且不能使用另外的矩阵空间来暂存数据,而是原地改变矩阵中数值. 我的想法是这样 ...

  2. php分割url,获取参数query

    #测试网址: http://localhost/blog/testurl.php?id=5 //获取域名或主机地址echo $_SERVER['HTTP_HOST']."<br> ...

  3. 52-python基础-python3-列表-常用列表方法- reverse()方法

    reverse()方法 永久性地修改列表元素的排列顺序,但可随时恢复到原来的排列顺序,为此只需对列表再次调用reverse() 即可. 实例:  

  4. maven上传源码脚本

    mvn deploy:deploy-file -Dmaven.test.skip=true -Dfile=./target/bbc-common-1.0.0-source.jar -DgroupId= ...

  5. VINS 检测回环辅助激光建图

    最近接到一个任务,在激光检测回环失败时,比如黑色物体多,场景大等,可否利用视觉进行回环检测.如果只是检测回环,现有的许多框架都可以使用.ORB-SLAM本身就有单目模式,且效果不错.但是发现ORB在检 ...

  6. 批量授一种权限给用户程序 plm enovia

    set context user DanielDai;add program LUX_UserAssignment java execute immediate code 'import com.ma ...

  7. 2018-2-13-关于Host(主机)

    title author date CreateTime categories 关于Host(主机) lindexi 2018-2-13 17:23:3 +0800 2018-2-13 17:23:3 ...

  8. 针对类别的5中softmax_cross_entropy loss计算

    # ---------------------------- #! Copyright(C) 2019 # All right reserved. # 文件名称:xxx.py # 摘 要:五种方式实现 ...

  9. rsync nfs 实时同步,结合实战

    目录 rsync nfs 实时同步,实战 一.部署rsync服务端(backup) 二.部署rsync客户端(nfs,web01) 三.部署web代码(web01) 四.NFS服务端部署(nfs) 五 ...

  10. oracle10G锁查询、批量杀锁及常用sql

    前言 记录1.oracle10G锁查杀技巧 2.资源检查方面的sql 锁查杀 找出所有被锁的对象.注意:不一定是死锁,大部分应该是阻塞,如果发现大量的锁对象,一定要检查程序逻辑了,优化sql sele ...