尝试连接到虚拟机时出错

时间:2017-03-07 19:33:11

标签: java jvm

我尝试连接到正在运行的JVM,使用java中的虚拟机类对其进行调试。我现在有java 8,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.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();
                }
            }
        }
    }
}

以下是运行时遇到的错误的副本:

  

java.util.ServiceConfigurationError:com.sun.tools.attach.spi.AttachProvider:   提供者sun.tools.attach.WindowsAttachProvider不可能   实例

谢谢你们的帮助!

0 个答案:

没有答案