通过JVMTI设置的断点,是否能被连接到JVM的远程调试器看到?

4
假设远程调试器已连接到本地JVM。如果JVMTI代理(非调试器代理)通过SetBreakpoint设置断点,那么远程调试器是否能看到这个断点?远程调试器能否跨越或删除此断点?
“可见”是指将断点命中事件发送到远程调试器,结果调试器能够像自己设置了断点一样进行操作。
1个回答

2
设置断点并接收断点事件需要具备can_generate_breakpoint_events能力。在HotSpot JVM中,此能力是独占的(或solo),即can_generate_breakpoint_events一次只能被一个JVM TI环境所拥有。
换句话说,描述的情况永远不会发生:当JDWP代理存在时,没有其他JVM TI代理可以设置断点或订阅断点事件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接