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
jdwp: Java Debug Wire Protocol
以上是关于jdb应用的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio Code - “错误:spawn jdb ENOENT”试图调试java应用程序[重复]
JVM监控工具之jmapjstatstackjpsjstatdjinfojhatjdb