Вопросы по теме 'java-bytecode-asm'

Как проверить стек с помощью посетителя ASM?
Я пытаюсь использовать библиотеку разработки байт-кода Java ASM для выполнения статического анализа. У меня есть ситуация, когда я хотел бы проверить переменные, назначенные полю. У меня есть MethodVisitor , который реализует метод...
1138 просмотров
schedule 31.03.2022

есть ли хэш-код/адрес кучи для примитивных типов в Java?
Я пытался найти какое-то приближение для обращения к куче, и вы, ребята, дали мне функцию System.IdentityHashCode(Object) . Проблема в том, что эта функция не подходит для примитивных типов. Я объясню почему. В качестве входных данных мне дана...
1604 просмотров

Генерация «Hello, World!» класс с библиотекой Java ASM
Я начал возиться с ASM API для проекта компилятора, над которым я работаю. Тем не менее, я обнаружил, что во многих местах документация менее чем ясна для новичка, и я подумал, что у меня есть хороший надежный пример создания класса, который просто...
13332 просмотров

Является ли final финальным во время выполнения?
Я играл с ASM и считаю, что мне удалось добавить модификатор final к полю экземпляра класс; однако затем я приступил к созданию экземпляра указанного класса и вызвал для него установщик, который успешно изменил значение теперь окончательного поля....
4065 просмотров
schedule 30.06.2022

Тестирование с помощью байт-кода ASM
Допустим, я инструментирую класс, в котором хочу добавить пару инструкций к некоторым частям метода. Например, давайте рассмотрим случай, когда я хочу разработать посетителя V для переименования инструкций вызова метода, существующих в методе...
550 просмотров

Форматирование вывода TraceClassVisitor
Допустим, я хочу красиво напечатать байт-код метода с библиотекой asm. public int get777() { return 777; } через TraceClassVisitor будет выглядеть как // access flags 0x1 public get777()I L0 LINENUMBER 21 L0 SIPUSH 777...
173 просмотров
schedule 22.09.2022

Использование ASM для поиска общих сигнатур неявных переменных
Я создаю инструмент поиска зависимостей, используя ASM 4.0, и я обнаружил краеугольный случай, который мне не удалось решить. Проблема, с которой я столкнулся, связана с идентификацией использования MyClass в приведенном ниже коде. public void...
515 просмотров
schedule 02.12.2023

Как правильно использовать Instrumentation.retransformClasses() из ассемблерного кода?
Я использую библиотеку asm для выполнения некоторой модификации байт-кода Java, в частности, для модификации моих классов для реализации нового интерфейса и связанных методов. Мой текущий подход заключается в использовании основного API asm через...
1624 просмотров
schedule 07.05.2023

Преобразование ASM для поиска конкретного типа класса
Я работаю над проектом, который будет отслеживать вызовы методов из класса внутри пакета в любой другой класс. Важно, чтобы я мог идентифицировать конкретные типы, и я бы предпочел иметь минимальные накладные расходы на трассировку. Нет ограничений...
398 просмотров

Неправильный тип локальной переменной в методе
Я использую ASM 4 для создания некоторых классов на лету. Все шло довольно хорошо, пока я не начал генерировать код для обработки исключений. Сгенерированный байт-код находится внизу. Вот ошибка, которую я получаю: java.lang.VerifyError:...
4343 просмотров
schedule 02.06.2022

Java ASM Bytecode Modification-Changing тела методов
У меня есть метод класса в банке, тело которого я хочу обменять на свое. В этом случае я просто хочу, чтобы метод вывел на консоль «ПОЛУЧИЛО» и вернул true; Я использую системный загрузчик для загрузки классов jar. Я использую отражение, чтобы...
14448 просмотров

Преобразователь класса в JAVA ASM - можно ли его сгенерировать?
Я хотел бы начать использовать Java ASM для преобразования классов в моем проекте - добавить один аргумент String к некоторым методам и отправить журнал с этим аргументом. На сайте asm я прочитал Если вы хотите реализовать...
1780 просмотров
schedule 05.10.2023

Мониторинг создания объектов с использованием ASM в Java
Я использую ASM для мониторинга создания объектов в Java. В настоящее время я воспринимаю вызов init как индикатор создания нового объекта и запускаю программу из invoke XXX.init to dup; invoke XXX.init; call_my_method(Object)...
755 просмотров
schedule 15.03.2023

Привет мир! Программа, использующая JAVA ASM для отображения байт-кода
Я не могу отображать байт-коды на моем экране. Я хочу генерировать выходные данные, подобные Javap Command для hello World. Я создал следующий класс и привет, мировой класс. Может ли кто-нибудь сообщить мне, что мне нужно сделать, чтобы...
3249 просмотров
schedule 01.08.2023

Все суперклассы класса, использующие байт-код ASM java
Как получить все суперклассы класса, используя байт-код ASM java?
1802 просмотров
schedule 12.05.2023

Определить, является ли метод в инструкции вызова родным или нет в байт-коде ASM/java.
Есть ли способ узнать, является ли метод в инструкции вызова в байт-коде собственным методом или нет? Я ищу конкретное решение ASM. visitMethodInsn(int opcode, String owner, String name,...
332 просмотров
schedule 01.02.2023

Ассемблерный Java-компилятор
Я создаю компилятор на Java, используя библиотеку asm. Пока я могу вывести на вывод только целые числа. Я хочу сделать то же самое со строками. Есть идеи?
1426 просмотров

Сохранить массив байтов как .class
Я использую ASM для преобразования класса Java. Вместо загрузки массива байтов в память я хотел бы сохранить полученный массив байтов в файле .class. В руководстве ASM сказано, что это возможно, но не приводится пример. Как я могу это сделать?
560 просмотров
schedule 17.08.2022

Встроить существующий код метода в блок try-finally
Я хочу добавить инструкции в код методов. Эти инструкции должны выполняться после достижения и перед выходом из метода. Чтобы убедиться, что последние инструкции всегда выполняются перед выходом, я хочу поместить их в блок finally. (Я знаю класс...
1039 просмотров

Как поймать исключение времени выполнения в байт-коде через ASM
Я пытаюсь поймать исключение времени выполнения через исключение. Я могу фиксировать обычные события выхода из метода. Но управление никогда не достигает opcode==Opcodes.ATHROW . Я думаю, что я делаю что-то неправильно в вызове событий. Вот...
1989 просмотров
schedule 22.01.2024