-4

I was working with JDI api in JPDA. But due to its some limitation I am stuck at some point. What are the alternatives to JDI so that I can write custom debuggers for Java programs ? Preferably Java alternatives.

4

1 回答 1

1

JDI 在 JVMTI 本机 API 之上实现。因此,如果您愿意努力实现自己的调试代理代码,则可以避免使用 JDI 层。

但是,我怀疑它会让你走得更远。我怀疑 JDI 中的限制实际上是 JVMTI 本机 API 本身的限制。(但您可以查看JVMTI 规范,看看它是否支持您想要的功能。)

有没有 JVMTI 的替代品?

AFAIK,不。至少,对于最近的 Oracle Hotspot 版本来说不是!

(JDPA 规范承认并非所有 Java 实现都会实现该规范,因此可能存在其他供应商的 Java 实现以不同方式进行调试的可能性。但是,核心 JRE 和 JVMTI 之间的集成代表了很多软件开发工作,所以Oracle(或其他任何人)不太可能为 Hotspot 实施 JVMTI 替代方案。)

于 2017-10-18T10:47:22.807 回答