Описание тега java-bytecode-asm
ASM - это библиотека Java, используемая для манипулирования и создания байт-кода JVM.
1
ответ
Какие значения могут получить параметры отладки visitSource в ASM ClassVisitor?
Метод visitCode в asm's ClassVisitor принимает параметр отладки, типизированный как String public final void visitSource(final String file, final String debug) Согласно JavaDoc debug - дополнительная отладочная информация для вычисления соответствия…
06 авг '13 в 14:47
1
ответ
Как отлаживать агент Java
На данный момент есть возможность запустить JVM с агентом: -javaagent:somejar.jar таким образом, чтобы запустить агент Java, который я написал как, я должен положить его в банку. поэтому он ограничен в отладке. Есть ли способ отладки агента Java в I…
12 янв '16 в 10:48
2
ответа
ASM - перехват доступа к полям за пределами метода
В настоящее время я использую ASM для перехвата всех попыток изменить значения полей в целевом приложении. Это работает, как и ожидалось, поскольку ASM позволяет добавлять или добавлять инструкции к сегментам кода метода или конструктора. Однако мне…
29 дек '12 в 15:37
1
ответ
Как получить и использовать тип класса из класса Java, который я динамически создал во время выполнения с использованием ASM?
Я хотел бы расширить класс, получить литерал класса, использовать его в качестве параметра типа или привести к нему. У меня уже есть обходной путь, но мне все еще интересно. В настоящее время я могу определить класс во время выполнения с ASM, создат…
21 апр '13 в 20:53
1
ответ
Доступ к закрытым внутренним классам в Java ASM
У меня есть класс, который содержит несколько внутренних классов. Я хотел бы создать дополнительные внутренние классы, которые взаимодействуют с частными внутренними классами времени компиляции, используя библиотеку ASM. Мой код выглядит так: public…
03 мар '16 в 23:53
1
ответ
Реализация метода methodNode "visitMethodInsn" в библиотеке ASM
Это тело visitMethodInsn метод MethodNode учебный класс: @Override public void visitMethodInsn( final int opcode, final @InternalForm String owner, final @Identifier String name, final @MethodDescriptor String descriptor, final boolean isInterface) …
24 июн '18 в 09:20
3
ответа
Javac не может найти импорт
У меня проблемы с компиляцией файла с помощью javac. Моя команда для компиляции: C:\Work>javac -classpath "%CLASSPATH%;C:\Users\Me\Downloads\asm-4.1-bin\asm-4.1\src" wDump.java Результаты в: wDump.java:3: error: package org.objectweb.asm.attrs do…
06 июл '13 в 04:55
0
ответов
Определение одной конкретной локальной переменной
Допустим, у меня есть класс, экземпляр которого должен быть передан всем методам, либо через аргумент, либо через функцию получения. package asmvisit; public class B { public void foo(int x, Crucial c){ c.value = x; } public void bar(int c){ Crucial…
07 дек '17 в 10:15
1
ответ
Создать метод с использованием ASM
Используя ASM, мне нужно изменить метод, затем мне нужно вставить в него два метода. Я получил модификацию в порядке, но как мне создать метод? Нужен ли мне отдельный MethodVisitor, или я могу использовать тот же, но назвать что-то еще?
13 мар '16 в 00:43
2
ответа
Java ASM Байт-код Модификация-Изменение тела метода
У меня есть метод класса в банке, тело которого я хочу обменять на свое. В этом случае я просто хочу, чтобы метод распечатал "GOT IT" на консоли и вернул true; Я использую системный загрузчик для загрузки классов банку. Я использую отражение, чтобы …
02 авг '12 в 02:45
2
ответа
Как получить байт-код в виде байтового массива из класса
Учитывая произвольный Class экземпляр, в том числе тот, который генерируется во время выполнения (нет .class файл на диске), есть ли способ получить байты класса?
28 янв '16 в 20:07
2
ответа
Java ASM, как прочитать значение байт-кода LOAD или STORE
Я работаю с asm (здесь документы http://asm.ow2.org/asm40/javadoc/user/), более конкретно, я пытаюсь динамически инструментировать некоторый код. Моя проблема в том, что я не знаю, как и если я могу через то, что предлагает asm, чтобы прочитать факт…
26 ноя '13 в 12:42
1
ответ
ASM объединяет два объекта-значения в интерпретаторе
Я продолжаю исследовать эмуляцию метода и получать реальное значение при прохождении инструкции ILOAD. После помощи Хольгера с Интерпретатором и после добавления новых операций с локальной переменной в main() метод, который я застрял с merge(V a, V …
15 фев '18 в 21:25
1
ответ
ASM Bytecode - получает номера строк из смещения метки
Есть ли способ получить номера строк (как в файле Java) из смещения метки? @Override public void visitLabel(Label label){ super.visitLabel(label); mv.visitFieldInsn(GETSTATIC, "java/lang/System", "out", "Ljava/io/PrintStream;"); mv.visitLdcInsn("lin…
10 фев '17 в 20:19
0
ответов
ASM4/5: как я могу встроить исходный код в ASM4 / 5
Я собираюсь трансформировать (манипулировать) множество классов и позволить легкую отладку и прозрачную передачу изменений, примененных к коду, я хочу добавить исходный код Java, эквивалентный манипулируемому классу. Чтобы добавить код Java, я мог б…
06 окт '15 в 08:01
2
ответа
JVM: неверный индекс 1 в LocalVariableTable
Я пытаюсь скомпилировать следующий код с помощью специального компилятора: public static void main([String] args) { long i = 2L i *= 2L System out println i } Результат компиляции при использовании javapэтот байт-код: public static void main(java.la…
27 фев '15 в 08:30
1
ответ
Как использовать visitLdcInsn для загрузки объекта
Я использую ASM для внедрения кода, и мне повезло, что во время стресс-теста я заметил, что вижу некоторое снижение производительности, поскольку код, который я написал, выполняет много статических вызовов, чтобы оптимизировать его, я пытался кэширо…
30 сен '13 в 12:50
2
ответа
Класс Frame ASM не имеет универсального типа
Документация ASM (pdf) гласит, что Frame класс имеет универсальный тип, предоставляя пример использования: Frame<BasicValue>, (на стр. 119, если необходимо) Глядя на источник, мы видим, что это объявление Frame<V extends Value>, Но по к…
29 май '16 в 18:13
1
ответ
Почему ASM не может определить правильные максимумы для моего генерирующего класса?
Я использую ASM 3.1 для создания фиктивного класса. Он имеет только простой конструктор и никаких других методов: public class TestAsm { public static void main(String... args) throws Throwable { ClassWriter sw = new ClassWriter(ClassWriter.COMPUTE_…
06 янв '13 в 09:20
2
ответа
Инструментарий ASM ByteCode, какой метод выполняется
Я использую ASM Bytecode Library для инструментов Java-классов с использованием pre-main. Как мы получаем имя метода? Заранее спасибо...
06 фев '13 в 06:37