Вопросы по теме 'jvmti'

Как обнаружить агенты Java, JVMTI и т. д.
Как защитить среду Java при работе на машине, которую вы не контролируете? Что может помешать кому-то создать агент java или собственный агент JVMTI и сбросить байт-код или переписать классы, чтобы обойти лицензирование и/или другие проверки...
2945 просмотров

Как правильно написать обработчик SIGPROF, который вызывает AsyncGetCallTrace?
Я пишу короткий и простой профилировщик (на C), который предназначен для печати трассировки стека для потоков в различных клиентах Java через равные промежутки времени. Я должен использовать недокументированную функцию AsyncGetCallTrace вместо...
2788 просмотров

Java API поверх JVMTI?
Есть ли хороший Java API, который я могу использовать поверх JVMTI?
5107 просмотров
schedule 07.03.2022

AttachNotSupportedException из-за отсутствия файла java_pid в Attach API
Создавая собственный профайлер, я использую JVMTI API для создания собственного библиотечного агента. Этот агент можно запустить вместе с JVM, используя дополнительный параметр -agentlib. Кроме того, существует API Attach , который позволяет для...
17587 просмотров
schedule 29.04.2024

Выгрузка агента JVMTI во время выполнения?
Я использую API подключения для загрузки агента JVMTI во время выполнения. Я хотел бы выгрузить агент JVMTI, когда моя программа будет завершена, не завершая работу JVM, в которую загружен агент. Согласно данную документацию невозможно сделать с...
2312 просмотров
schedule 19.09.2022

JVMTI получает имя вызываемого класса/файла
Я попытался прочитать всю документацию по jvmti и не нашел решения своей проблемы. Я хочу получить имя класса/файла, которое используется в командной строке для вызова программы: java -agentpath:<pathToAgent> <calledJavaProgram>...
462 просмотров
schedule 24.05.2023

Сбой агента JVMTI
Я работаю над реализацией алгоритма обнаружения гонки данных стирателя в качестве агента JVMTI. Когда я пытаюсь запустить некоторые примеры входных данных для проверки своего кода, JVM падает с дампами, подобными следующему (могут также отображаться...
3261 просмотров
schedule 03.10.2022

JDI: как приостановить приложение Java (JVM), как в отладчике
Я ищу потенциально JDI API для приостановки JVM в любой момент во время ее выполнения. Глядя на BreakPointRequest метод createBreakpointRequest требует определенного местоположения. Есть ли какой-либо другой API, которому не нужно местоположение...
2235 просмотров
schedule 08.08.2022

Присоединение Java VisualVM для CPU-Profiling приводит к ошибке JVMTI 66
При использовании VisualVM для профилирования процессора моего приложения я сталкиваюсь с ошибкой «Ошибка агента профилировщика: с сообщением: Ошибка повторного определения с ошибкой 66». При этом он копирует все class-файлы из пути сборки...
4037 просмотров
schedule 07.04.2023

Инструментарий байт-кода Java: NullPointerException в рефлексивном вызове defineClass
Намерение : Я использую java.lang .instrument для создания инструментов для Java-программ. Идея состоит в том, что я использую манипуляции с байт-кодом через эту систему, чтобы добавлять вызовы методов в начале и в конце каждого метода....
865 просмотров
schedule 14.03.2023

Как получить объект с помощью JVMTI
Я новичок в JVMTI . Я пытаюсь получить размер объекта, используя метод GetObjectSize . Но я застрял. Могу ли я получить объекты из пространства кучи, используя JVMTI ? Для этого задействована функция GetTag ? Я знаю, что мы можем...
227 просмотров
schedule 28.09.2022

Как получить идентификатор объекта, используемый в Heap Dump
Я хотел бы иметь возможность получить тот же идентификатор, который используется в дампах кучи Java (созданный с помощью jmap или JMX и т. д.). Это необходимо для того, чтобы можно было идентифицировать активный объект во все еще работающем...
1474 просмотров
schedule 24.03.2023

Теги JVMTI в HeapDump или отдельном файле сопоставления
В дополнение к информации в дампе кучи мне также нужно получить информацию о потенциальных тегах, установленных для объекта через JVMTI. В идеале эти значения должны храниться непосредственно в дампе кучи вместе с остальной информацией об экземпляре,...
79 просмотров

Видны ли теги объектов, установленные JVM, для агентов JVMTI?
Агентам JVMTI часто требуется пройти через кучу Java и посетить каждый живой объект ровно один раз. Один из способов - вызвать FollowReferences и избежать обхода данный объект более одного раза: Пометка каждого посещенного объекта с помощью...
183 просмотров
schedule 08.12.2022

Как отлаживать Java-приложение, которое использует агент JVMTI для установки точки останова (невозможно получить необходимые возможности JVMTI)
Я хотел бы отлаживать Java-приложения, использующие написанный мной агент jvmti. Кажется, это работает только в том случае, если агент jvmti НЕ пытается включить возможности «can_generate_breakpoint_events». Попытка включить возможности точки...
1018 просмотров
schedule 29.11.2022

одно и то же JVMTI EVENT обрабатывается одним и тем же потоком?
Я регистрирую JVMTI Event MethodEntry , и его функция обратного вызова - tdMethodEntry , и если есть много много MethodEntry Events , и мой вопрос в том, что это событие будет обрабатываться одним и тем же потоком через очередь? или...
124 просмотров
schedule 04.08.2022

Как получить файл класса (в формате спецификации) во время выполнения с помощью JVMTI?
Я работаю над исследовательским проектом, который включает в себя отзывы профилировщика Hotspot. В настоящее время я работаю над агентом JVMTI, который должен иметь следующие функции: слушайте любое скомпилированное событие загрузки. Извлеките...
559 просмотров

JNI передает длинное значение собственному методу
Итак, как описано выше, я пытаюсь скопировать объект int в память вне кучи с помощью Unsafe. Вот моя основная функция: public static void main(String[] args) throws Exception { UnsafeHelper hlpr = new UnsafeHelper(); int original = 100;...
1452 просмотров

JVMTI GetLocalVariableTable() всегда выдает JVMTI_ERROR_ABSENT_INFORMATION
Во-первых, я некоторое время пытался найти решение своей проблемы, но ничего полезного не получил. Поэтому я хочу получить некоторые предложения от экспертов. Я использую JVMTI для написания агента, в котором мне нужно получить информацию о...
264 просмотров
schedule 26.11.2022

Почему JVM отправляет несколько событий JVMTI ClassLoad для одного и того же класса?
Я включил события JVMTI ClassLoad, которые должны генерироваться при первой загрузке класса. Я ожидал получить это событие ровно один раз для каждого загруженного класса, но для некоторых классов оно, похоже, генерируется несколько раз, например....
144 просмотров
schedule 19.10.2022