微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用JDB调试Java程序

1.使用JDK的JDB工具附加调试Java程序

首先用以下命令启动Java程序:

java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 -jar test.jar
  • 1

注意命令中有参数suspend=n,指定JAVA以调试模式运行,监听本地8000端口,并且等待连接时不挂起,正常运行。

用以下命令附加到上面运行的JAVA程序,用以调试分析:

jdb -connect com.sun.jdi.socketAttach:hostname=localhost,port=8000
  • 1

之后就可以用threads、thread、where、list等命令开始调试了。

2.使用Eclipse远程调试Java程序

使用Eclipse分为两种方式,一是JAR端作为服务器,监听一个端口号,Eclipse连接到此端口号开始调试;二是Eclipse作为服务器,监听一个端口号,JAR端连接到此端口,方法如下:

  • 把JAVA程序打包JAR后,在CMD下输入
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000 -jar test.jar
  • 1

然后在Eclipse中加上断点,右击项目->Debug As->Debug Configurations,双击Remote Java Application,Connection Type选择Standard (Socket Attach),填好远程主机和端口号,单击Debug就可以远程调试了

  • 在Eclipse中加上断点,右击项目->Debug As->Debug Configurations,双击Remote Java Application,Connection Type选择Standard (Socket Listen),填好端口号,单击Debug开始监听,状态栏将显示消息“waiting for vm to connect at port 8000…”,然后运行JAR程序
java -Xdebug -Xrunjdwp:transport=dt_socket,address=192.168.10.205:8000,suspend=y -jar remoting-debug.jar  
  • 1

3.使用IntelliJ IDEA远程调试Java程序

点击 Run -> Remote,在Configuration栏目下Settings框中配置具体信息,Transport上选择Socket,Debugger mode上选择Attach或者Listen,Attach相当于Eclipse上的第一种方式,Listen相当于Eclipse上的第二种方式,其他地方相同。

原文地址:https://www.jb51.cc/wenti/3279502.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐