У меня есть java-приложение, которое должно работать с jdk 1.5. Мне нужен способ подключиться к этому приложению JVM, используя его PID. Я попробовал библиотеку ByteBuddy, но при попытке загрузить агент выдает следующую ошибку.
Exception in thread "main" java.lang.IllegalStateException: Target could not dispatch command successfully
at net.bytebuddy.agent.VirtualMachine$ForHotSpot$Connection$ForJnaWindowsNamedPipe.execute(VirtualMachine.java:1043)
at net.bytebuddy.agent.VirtualMachine$ForHotSpot.load(VirtualMachine.java:361)
at net.bytebuddy.agent.VirtualMachine$ForHotSpot.loadAgent(VirtualMachine.java:335)
at main.Agent.main(Agent.java:28)
Вот код в основном методе:
public static void main(String[] args) {
try {
VirtualMachine vm = VirtualMachine.ForHotSpot.attach("19708");
vm.loadAgent("Agent.jar");
vm.detach();
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
Может ли кто-нибудь помочь мне с этой проблемой?
e.printStackStrace()
вместоe.getMessage()
. Message возвращает только последнюю подсказку, тогда как основная причина может быть в полной трассировке стека. - person Izbassar Tolegen   schedule 24.08.2020