Eclipse中间两种远程调试方法
基于Maven管理的项目,在eclipse当中有两种调试方式,
第一种方式,
1)菜单RUN->External Tools->External Tools Configurations,如图所示:
2):Program->new launch configuration,如下图所示
说明:
其中Location是你本地maven所在的目录.
Working Directory是当前项目
Arauments, 其中jetty:run是必须项,其它的根据项目需求而加入
这样建立的远程调试方式是以默认配置为基础的,其端口为8000,
3),菜单RUN->Run Configuration,在左侧菜单当中选择Remote Java Application->new launch configuration,如下图所示.
这样第一种方式就配置完成了,执行顺序是先运行
然后再执行:
第二种方法:
1)菜单RUN->External Tools->External Tools Configurations,跟第一种方法一样,参考如上,.
2)Program->new launch configuration,同样也跟第一种方法一样,参考如上.
3)选择Environment标签页.如下图所示,点击New,输入内容如下:
Name = MAVEN_OPTS
Value = -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=y
注:
transport (无默认)
传输机器码用,支持tcp/ip socket(dt_socket)
server (默认='n')
决定vm是作为客户端还是服务器,当作为服务器的时候,vm等待调试器连接它,当作为客户端的时候,vm尝试连接在等待状态的调试器
suspend (默认='n')
如果设为y,vm会等待调试器连接再执行应用程序代码,当调试器连接后(或当vm完成和调试器连接后),vm告诉调试器它刮起了,然后不会做任何事除非被告知resume。如果设为n,vm会率先执行。
address (默认="")
在server=n时,这必须是“hostname:port”形式,但是在server=y的时候只要指定port。这指定了要连接或要监听的ip地址和端口号。
监听端口0有特殊含义:试图监听端口8000,如果失败试图连接8001、8002...以此类推。
如下图所示