首先,JAVA自身支持调试功能,并提供了一个简单的调试工具--JDB,类似于功能强大的GDB,JDB也是一个字符界面的调试环境,并支持设置断点,支持线程线级的调试。
编写Java程序:
package remotejava;
/**
*
* @author Vicky.H
*/
public class RemoteJava {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws InterruptedException {
int num;
for (int i = 0; i < 100; i++) {
Thread.sleep(3000);
num = i;
System.out.println("num = " + num);
}
}
}
编译并生成jar包:java -jar "E:\workspace\rjava\remoteJava\dist\remoteJava.jar"
将该jar包放入linux下,运行:
java -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,suspend=y,server=y,address=8000 -jar remoteJava.jar remotejava.RemoteJava
远程调试已经启动,监听端口为8000!!!
使用netbeans ->"调试"->"连接调试器"->Java调试器(JPDA)
远程调试成功,断点已启用!