虚拟机调试(八)eclipse的debug知多少?

(一)观察虚拟机的参数

eclispse通过debug模式启动其他虚拟机,会为该虚拟机额外添加两个启动参数-agentlib:jdwp和-ea
(1)-agentlib:jdwp 参数可让虚拟机被调试
(2)-ea 参数让虚拟机开启断言检查


-agentlib:jdwp=
transport=dt_socket,suspend=y,address=localhost:48494

(二)关于jdwp

jdwp是 Java Debug Wire Protocol 的缩写,意为java调试时的通讯协议,它定义了
调试器和被调试的java虚拟机之间的通信协议

调试器和目标主机在不同的进程中运行,通过传输jdwp的数据包,调试器可以获取目标虚拟机的运行状态并控制目标虚拟机上java程序的执行。

(三)关于调试器:eclipse

eclipse 本身就是一个调试器,所以可以调试本地或远程的Java虚拟机,当然前提是调试器要有一份远程虚拟机上的源码副本。
个人觉得Java调试体系强大在于:
1、调试器可断点调试远程虚拟机
2、调试器可热交换代码到远程虚拟机

你可能感兴趣的:(虚拟机调试(八)eclipse的debug知多少?)