jdb应用

Posted funny_coding

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jdb应用相关的知识,希望对你有一定的参考价值。

场景:

外网可以登录远程主机,但是因为安全限制,不能在外网直接访问docker应用的端口,因此不能远程调试。远程主机shell内部可以连接docker应用,也没有图形界面,没有log,考虑使用原始的jdb来调试

 

要求:应用启动时开启了debug模式

 旧配置方式-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000

 新配置方式-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000

 区别>> https://stackoverflow.com/questions/138511/what-are-java-command-line-options-to-set-to-allow-jvm-to-be-remotely-debugged

 

jdb -connect com.sun.jdi.SocketAttach:hostname=localhost,port=8000

 

 参考:

JPDA: Java Platform Debugger Architecture

jdwpJava Debug Wire Protocol 

 

以上是关于jdb应用的主要内容,如果未能解决你的问题,请参考以下文章

jdb的应用

Visual Studio Code - “错误:spawn jdb ENOENT”试图调试java应用程序[重复]

使用 JDB 调试器

JVM监控工具之jmapjstatstackjpsjstatdjinfojhatjdb

使用 jdb 调试 Java servlet。如何将 jdb 与 Tomcat 连接

java jdb命令详解