Вопросы по теме 'bytecode-manipulation'
Как мне преобразовать между прямым порядком и обратным порядком байтов в C ++?
Как мне преобразовать между прямым порядком и обратным порядком байтов в C ++? Я использую VC ++ 6.0. Когда я использовал функцию _byteswap_ulong (), для нее требуется файл заголовка intrin.h. Когда я включаю заголовок, он сообщает об ошибке...
8896 просмотров
schedule
14.05.2023
Есть ли редактор java classfile/bytecode для редактирования инструкций?
Есть ли утилита (или подключаемый модуль eclipse) для редактирования файлов классов Java ? Я хотел бы манипулировать байт-кодом файла класса java, не перекомпилируя его и не имея полного пути сборки.
Например. переименовывать методы,...
28600 просмотров
schedule
29.08.2022
автоматическое завершение сгенерированного кода Java в eclipse
Я хотел бы сделать автоматически сгенерированный код доступным для редактора eclipse для автоматического завершения
Следующие случаи:
1) XML-документ, описывающий модель данных и процессор Java, создает исходный код Java. Сейчас мне нужно...
319 просмотров
schedule
24.10.2022
Оптимизация оценки дерева логической логики
У меня есть много истинных/ложных результатов, сохраненных в виде битов в массивах long[] . У меня их огромное количество (миллионы и миллионы лонгов).
Например, скажем, у меня есть только пять результатов, я бы получил:
+----- condition 5 is...
2940 просмотров
schedule
19.10.2022
Рекомендуемая библиотека манипулирования байт-кодом для перезаписи файлов классов для изменения типов e. грамм. полей?
Я ищу способ создать файл класса из существующего, позволяя мне заменить тип поля другим типом.
Рассмотрим этот пример фрагмента, в котором я хотел бы, чтобы каждое использование int bar ...
class Foo {
private final int bar;
public...
452 просмотров
schedule
26.03.2023
Инструментарий для добавления ведения журнала в код Scala
В Java мы можем использовать AspectJ для прозрачного добавления журналирования в классы Java (или, возможно, использовать другие инструменты инструментирования байт-кода). Теперь мне интересно, как прозрачно добавить журналирование в функции Scala...
794 просмотров
schedule
26.05.2024
Есть ли инструмент для работы с байтовым кодом высокого уровня, поддерживающий Scala, такой как Javassist?
Я ищу инструмент для работы с байт-кодом высокого уровня, такой как Javassist, но он понимает некоторые особенности Scala. Инструменты манипулирования байт-кодом нижнего уровня должны быть относительно агностическими, но для моих случаев...
857 просмотров
schedule
22.06.2022
объединить несколько последовательностей байт-кода метода Java
Мне интересно, можно ли объединить несколько последовательностей байт-кода метода java в один метод. Предположим, у нас есть метод A, который вызывает еще два метода B1 и B2.
A bytecode sequences:
.....
invokevirtual B1
iload ..
.......
236 просмотров
schedule
28.02.2023
Трассировка аргументов вызова метода в байт-коде с использованием ASM
Как я могу проверить байт-код класса (используя что-то вроде ASM), чтобы узнать, какие начальные значения были переданы методу?
Например: учитывая некоторые методы, которые передают значения друг другу:
void m1(Object o) {
Object v = o;...
1447 просмотров
schedule
08.05.2022
Java BuilderTestPattern - как избежать шаблонного кода?
В моем проекте много ценных объектов.
Я использую проект lombok, чтобы исключить некоторые шаблоны, поэтому мои объекты-значения выглядят следующим образом:
@Value
@Accessors(fluent = true)
public class ValueObject {
private final String...
1569 просмотров
schedule
14.01.2023
Сериализация без отражения в скомпилированных классах
Из-за ограничения на клиентской JVM я не могу использовать ни один из популярных сериализаторов из-за того, что не поддерживается отражение. Я ищу инструмент, который выполняет манипуляции с байт-кодом для сериализации путем внедрения методов записи...
1096 просмотров
schedule
19.12.2023
Как я могу запустить DataNucleus Bytecode Enhancer из SBT?
Я собрал доказательство концепции, целью которой является предоставление скелета многомодульного проекта SBT, в котором используется DataNucleus JDO Enhancer со смешанными исходными кодами Java и Scala.
Трудность возникает, когда я пытаюсь улучшить...
277 просмотров
schedule
10.07.2023
javassist: невозможно проанализировать тело метода с параметризованными картами/списками
Я пытаюсь динамически генерировать классы в своем приложении и столкнулся с этим ограничением/ошибкой? с явасистом.
Кажется, javassist не может разобрать исходное тело, если оно имеет карты/список с параметризованными типами.
eg :
public...
339 просмотров
schedule
15.09.2022
Отладка байт-кода Python, когда источник недоступен
Мне нужно отладить скомпилированный скрипт Python (файл pyc). Первоисточник недоступен.
Есть ли способ отладить байт-код напрямую?
Самое близкое, что я могу найти, это собрать python с LLTRACE включен. Недостатком этого метода является то,...
2169 просмотров
schedule
27.11.2023
Javassist: создайте класс, который реализует общий интерфейс
Я пытаюсь создать класс с javassit, который реализует универсальный интерфейс, передавая общий аргумент, но пока безуспешно.
Мне известен ответ Javassist: создание интерфейса который расширяет другой интерфейс с помощью шаблонов и руководство...
2319 просмотров
schedule
14.02.2023
invokestatic для статического метода в интерфейсе
Разобрав некоторый код Java 8, я обнаружил, что некоторые invokestatic вызовы статических методов в интерфейсе (в частности, это был java.util.function.Function.identity() ) используют InterfaceMethodRef в пуле const; вот что javap -s -c -v p...
1323 просмотров
schedule
18.11.2022
ASM Tree API: Использование LDC для загрузки константы Class‹?›
Я пишу программу на ASM, которая использует Tree API для добавления байт-кода к некоторым методам. Я использовал ASMifier для генерации кода, необходимого для создания определенного метода, но у меня возникли проблемы со следующей строкой:...
1072 просмотров
schedule
11.05.2022
ClassWriter COMPUTE_FRAMES в ASM
Я пытался понять, как фреймы карты стека работают в Java, играя с переходами в ASM. Я создал простой метод, чтобы попробовать кое-что: (разобрано с Krakatau):
L0: ldc 'hello'
L2: astore_1
L3: getstatic Field...
678 просмотров
schedule
27.04.2023
Байт-код Java - ASM - Получить смещение метки
Я пытаюсь получить смещения всех меток в методе.
Я попытался использовать следующий код:
private static ArrayList<Integer> GetLabelOffsets(MethodNode methodNode) {
ArrayList<Integer> labelOffsets = new ArrayList<>();...
1004 просмотров
schedule
17.02.2023
определение происхождения ``кода метода слишком большой``
Итак, я столкнулся с
MY: WARNING cannot transform class XYZ
java.lang.RuntimeException: Method code too large!
at org.objectweb.asm.MethodWriter.a(Unknown Source)
at org.objectweb.asm.ClassWriter.toByteArray(Unknown Source)
at ......
834 просмотров
schedule
06.08.2022