到目前为止,没有一个答案是正确的,如果您查询提到的错误,这是Google上的第一个匹配项,因此,我认为需要进行一些澄清。
JVMTI和JDWP 可以 一起工作,实际上,它们通常必须一起使用。
ERROR: JDWP unable to get necessary JVMTIcapabilities如果在命令行上多次
-Xrunjdwp(和/或可能
-agentlib:jdwp)指定了您,将会得到提示。要解决此问题,请确保命令行中只有
-Xrunjdwp或
-agentlib:jdwp之一。
有关更多详细信息,请继续阅读…
JVMTI(Java虚拟机工具接口)是JVMDI(Java虚拟机调试接口)和JVMPI(Java虚拟机概要分析接口)的后继产品。它合并了JVMDI和JVMPI的功能,这两个功能在Java
5中已弃用,而在Java 6中已删除。这是API,它公开了JVM内部以进行调试和配置。
JDWP(Java调试线协议)是一种协议,它描述了一种用于传输命令和响应的简单机制。据我所知,这是坐在JVM外部的调试器与之通信并与JVMTI交互的唯一方法。
JDI(Java调试器接口)是一种客户端(调试器)API,它公开了JVMTI的某些功能,同时或多或少透明地使用了JDWP。
Bob
Dobbs的答案中提到的错误涉及误导性错误消息,以及JVM在每次在命令行上指定JDWP时都会尝试加载一次的事实。它没有声明JDWP和JVMTI不能一起使用。
此处提供更多信息:https
:
//www.ibm.com/support/knowledgecenter/ssw_ibm_i_74/rzaha/jpdebuga.htm
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)