轉自 http://blog.csdn.net/hongchangfirst/article/details/44191925java
Java遠程調試的原理是兩個JVM之間經過debug協議進行通訊,而後以達到遠程調試的目的。二者之間能夠經過socket進行通訊。linux
被debug的機器須要開啓debug模式,debug使用的客戶端能夠是eclipse,總之我使用eclipse已經成功了。spring
因爲咱們常常將程序部署到linux機器上,因此一般使用的是war、tar包或者直接使用可運行的jar包,因爲近來spring-boot的盛行,直接使用可執行的jar包成爲了最流行的部署方式:服務器
jdk1.7以後使用命令:eclipse
java -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n -jar you-runnable-jar.jarsocket
當出現如下提示的時候表示服務端已經使用deubg模式啓動:spring-boot
eclipse畢竟仍是咱們最熟悉的IDE,因此使用它做爲dubug的客戶端。測試
使用客戶端發起一個請求,能夠直接eclipse會直接進入debug模式。spa