JDWP
JPDA(Java Platform Debugger Architecture) 是 Java 平台调试体系结构的缩写,通过 JPDA 提供的 API,开发人员可以方便灵活的搭建 Java 调试应用程序。
java提供的一个可以远程调试java代码的javaagent
启动项:
1 | java -agentpath:jdwp=transport=dt_socket,server=y,suspend=y,address=8003 test |
transport=dt_socket 通过socket方式来连接调试
server=y,suspend=y 当前调试的文件为服务器 并且为暂停模式
address=*:8003 Test 地址 与 字节码文件
1 | jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8003 |
使用jdb 通过socket连接上jdwp
stop in com.eval.test.main 在main函数上打断点 然后cont执行到断点处
此时一般来说就可以执行了
1 | eval java.lang.Runtime.getRuntime().exec("calc").getInputStream()) |
说些什么吧!