Java-агент выдает UnsupportedClassVersionError при вызове Instrumentation#retransformClassesJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Java-агент выдает UnsupportedClassVersionError при вызове Instrumentation#retransformClasses

Сообщение Anonymous »

Я пытаюсь заставить Java-агент сбрасывать вызывающего метода. Я использую ASM ObjectWeb для преобразования целевого метода в вызов функции, которая выводит вызывающий объект и внутреннее состояние целевого метода.
Агент скомпилирован под Java 11.0.20 (с gradle если это имеет значение). Он запускается с помощью командного флага -javaagent. Версия ASM — 9.6.
Целевым jar-файлом является Bukkit-1.8.8, скомпилированный под Java 8. Однако я запускаю jar-файл Bukkit под Java 17, поэтому с JVM не должно возникнуть проблем. с пониманием jar агента.
Полный журнал:

Код: Выделить всё

Exception in thread "main" java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:491)
at java.instrument/sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:503)
Caused by: java.lang.UnsupportedClassVersionError
at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses0(Native Method)
at java.instrument/sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:169)
at me.cire3.sfbf.SFBFAgentEntryPoint.transform(SFBFAgentEntryPoint.java:39)
at me.cire3.sfbf.SFBFAgentEntryPoint.premain(SFBFAgentEntryPoint.java:17)
... 6 more
*** java.lang.instrument ASSERTION FAILED ***: "!errorOutstanding" with message Outstanding error when calling method in invokeJavaAgentMainMethod at s\src\java.instrument\share\native\libinstrument\JPLISAgent.c line: 619
*** java.lang.instrument ASSERTION FAILED ***: "success" with message invokeJavaAgentMainMethod failed at s\src\java.instrument\share\native\libinstrument\JPLISAgent.c line: 459
*** java.lang.instrument ASSERTION FAILED ***: "result" with message agent load/premain call failed at s\src\java.instrument\share\native\libinstrument\JPLISAgent.c line: 422
FATAL ERROR in native method: processing of -javaagent failed, processJavaStart failed
Ожидаемый результат: агент записывает дамп в файл дампа.
Фактический результат: все вылетает и сгорает.
Это не дубликат https://stackoverflow.com/a/72229157/139985, потому что моя версия ASM обновлена ​​и может обрабатывать jdk17 и jdk8.

Подробнее здесь: https://stackoverflow.com/questions/790 ... transformc
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»