idea下遠程debug配置

一. 背景:java

在測試工做中,爲方便發現代碼中的邏輯問題,嘗試使用遠程debug模式,在測試過程當中走查代碼,不只能夠輔助測試減小與開發的溝通成本,更便於瞭解業務提高測試深度。web

二. 配置方式:tomcat

1. 調試的配置方式主要爲設置JVM的參數,使之工做在debug模式下,經常使用參數爲:bash

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

2. 服務器端配置:服務器

若項目爲web項目,可在tomcat的啓動程序如catalina.sh中添加以下:app

若項目爲javaapp項目,可在項目的default文件中添加以下:socket

3. idea配置ide

打開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

相關文章
相關標籤/搜索