Java 尝试连接到虚拟机时出错
我正试图连接到一个正在运行的JVM,以便使用java中的虚拟机类对其进行调试。我目前正在使用Java8和jdk1.8.0_11。我试图添加一个清单,但没有结果。我还从JDK\libs文件夹导入tools.jar文件 我的代码:Java 尝试连接到虚拟机时出错,java,jvm,Java,Jvm,我正试图连接到一个正在运行的JVM,以便使用java中的虚拟机类对其进行调试。我目前正在使用Java8和jdk1.8.0_11。我试图添加一个清单,但没有结果。我还从JDK\libs文件夹导入tools.jar文件 我的代码: import java.io.IOException; import java.util.List; import com.sun.tools.attach.AgentInitializationException; import com.sun.tools.attac
import java.io.IOException;
import java.util.List;
import com.sun.tools.attach.AgentInitializationException;
import com.sun.tools.attach.AgentLoadException;
import com.sun.tools.attach.AttachNotSupportedException;
import com.sun.tools.attach.VirtualMachine;
import com.sun.tools.attach.VirtualMachineDescriptor;
public class loadVM {
public static void main(String[] args) {
String name = "replaceAfterNameFound";
List <VirtualMachineDescriptor> vms = VirtualMachine.list();
for (VirtualMachineDescriptor vmd: vms) {
System.out.println(vmd.displayName());
if (vmd.displayName().equals(name)) {
try {
VirtualMachine vm = VirtualMachine.attach(vmd.id());
String agent = "";
vm.loadAgent(agent);
} catch(AttachNotSupportedException e) {
e.printStackTrace();
} catch(IOException e) {
e.printStackTrace();
} catch(AgentLoadException e) {
e.printStackTrace();
} catch(AgentInitializationException e) {
e.printStackTrace();
}
}
}
}
}
import java.io.IOException;
导入java.util.List;
导入com.sun.tools.attach.agentializationException;
导入com.sun.tools.attach.AgentLoadException;
导入com.sun.tools.attach.AttachNotSupportedException;
导入com.sun.tools.attach.VirtualMachine;
导入com.sun.tools.attach.VirtualMachineDescriptor;
公共类loadVM{
公共静态void main(字符串[]args){
String name=“replaceAfterNameFound”;
List vms=VirtualMachine.List();
for(VirtualMachineDescriptor vmd:vms){
System.out.println(vmd.displayName());
if(vmd.displayName().equals(name)){
试一试{
VirtualMachine vm=VirtualMachine.attach(vmd.id());
字符串代理=”;
装载代理(代理);
}捕获(附件不支持例外e){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();
}捕获(代理加载异常){
e、 printStackTrace();
}捕获(代理化异常e){
e、 printStackTrace();
}
}
}
}
}
以下是我在运行时收到的错误副本:
java.util.ServiceConfigurationError:com.sun.tools.attach.spi.AttachProvider:
无法访问提供程序sun.tools.attach.WindowsAttachProvider
实例化
谢谢你们的帮助 bump------清单是不相关的,它只在jar应该作为代理加载时才起作用,但是您的操作在前面的
attach
步骤中已经失败,因此没有尝试加载代理。我是否正确地理解您对该工具和已经运行的JVM使用的是相同的jdk1.8.0_11
?正确,这就是为什么我思考自己收到错误的原因。是的,我正在使用jdk\lib\文件夹中的tools.jar文件。我正在尝试连接到另一个以前打开的JVM,该JVM正在运行相同的版本。