HelloWorld.java程序,只是简单的print “Hello the world.”。
Client launched with debug server
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y HelloWorld
- transport=dt_socket,设置传输模式,socket模式可以跨机器debug。
- sever=y,client可deugger可以互为服务器,y表示client是服务器。Eclipse debugger需要attache改client。
- suspend=y,是否已启动,就挂起。某些情况下debug需要。
- [optional] address,如果server是n,则需要用address去主动连接。address=127.0.0.1:8000
JDB Debug
jdb HelloWorld -SocketAttach:hostname=localhost,port=57568
Eclipse Debug
Debug configurations -> Remote Java Application,new一个remote debug launcher。
- Name:随便起个名字。
- Project:程序对应的Project。
- Connection Type: 如果程序启动时server=y,则选择Standard (Socket Attach),否则选择Standard (Socket Listen)。
- Host:服务器IP或Alias
- Port:端口号
然后Debug程序便可。
References
Debug Java applications remotely with Eclipse