Java Debug Agent | Агент для логирования вызовов методов [1.0]

Java Debug Agent | Агент для логирования вызовов методов
Краткое описание:
Java-агент, который позволяет вам видеть стактрейс любого метода
2
85

Java Debug Agent​

Агент позволяющий логгировать стактрейс любого метода.
В первую очередь агент предназначался для логгирования метода добавления оператора, а также исполнения команд из консоли и получения информации о том, откуда данный метод был вызван.
При помощи агента можно 100% отследить какой метод и кем выполняется, что позволяет с лёгкостью отследить к примеру хак плагины.


Базовое использование​

Код:
java -javaagent:/path/to/debug-agent-1.0.jar -jar myapp.jar


Аргументы агента​

Код:
-javaagent:setop-agent.jar="Class1:methodA|methodB,Class2:methodC"

Формат аргументов​

Код:
<ClassSimpleName>:<method1>|<method2>|<method3>,<AnotherClass>:<methodX>

  • ClassSimpleName — имя класса без пакета (например, PlayerList)
  • method1, method2, … — имена методов для патчинга (разделяются | или +)
  • Несколько классов разделяются запятой ,

Пример​

Код:
-javaagent:setop-agent.jar=PlayerList:addOp|op,CraftEntity:setOp


Дополнительные настройки через системные свойства​

Вывод в консоль​

Код:
-DdebugAgent.printToConsole=true - включить вывод в консоль
-DdebugAgent.printToConsole=false - отключить вывод в консоль

Вывод в файл​

Код:
-DdebugAgent.printToFile=/path/to/log.txt

  • Если путь не указан, вывод в файл отключен

Значение по умолчанию​

Если аргументы агента не переданы, агент патчит метод:

Код:
PlayerList:addOp|op

Пример длялоггирования с аргументами:​

Код:
-javaagent:agent-1.0.jar="PlayerList:addOp|op,SimpleCommandMap:dispatch"
- будет выводить добавление оператора в классе PlayerList, а также исполнение команды в классе SimpleCommandMap

Пример вывода дебага:​

Код:
[23:20:53] [Server thread/WARN]: [DEBUG-AGENT] Method dispatch was called!
[23:20:53] [Server thread/WARN]:  runtimeClass=org.bukkit.craftbukkit.v1_16_R3.command.CraftCommandMap
[23:20:53] [Server thread/WARN]: ---- method params ----
[23:20:53] [Server thread/WARN]: param0= com.destroystokyo.paper.console.TerminalConsoleCommandSender@43f121b6
[23:20:53] [Server thread/WARN]: param1= 123
[23:20:53] [Server thread/WARN]: ---- captured stack ----
[23:20:53] [Server thread/WARN]:  ru.overwrite.agent.Main.handlePatchedCall(Main.java:191)
[23:20:53] [Server thread/WARN]:  org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java)
[23:20:53] [Server thread/WARN]:  org.bukkit.craftbukkit.v1_16_R3.CraftServer.dispatchCommand(CraftServer.java:767)
[23:20:53] [Server thread/WARN]:  org.bukkit.craftbukkit.v1_16_R3.CraftServer.dispatchServerCommand(CraftServer.java:711)
[23:20:53] [Server thread/WARN]:  net.minecraft.server.v1_16_R3.DedicatedServer.handleCommandQueue(DedicatedServer.java:460)
[23:20:53] [Server thread/WARN]:  net.minecraft.server.v1_16_R3.DedicatedServer.b(DedicatedServer.java:428)
[23:20:53] [Server thread/WARN]:  net.minecraft.server.v1_16_R3.MinecraftServer.a(MinecraftServer.java:1382)
[23:20:53] [Server thread/WARN]:  net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1112)
[23:20:53] [Server thread/WARN]:  net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:252)
[23:20:53] [Server thread/WARN]:  java.base/java.lang.Thread.run(Thread.java:1474)
[23:20:53] [Server thread/WARN]:

Автор

OverwriteMC

Еще ресурсы от OverwriteMC

🛡️ ShieldSpigot 1.16.5 | Лучшее из возможных 🛡️
🛡️ ShieldSpigot 1.16.5 | Лучшее из возможных 🛡️
Производительный форк Paper на версии 1.16.5, включающий в себя множество оптимизаций и улучшений.
NullCordX | Высокопроизводительный bungeecord-сервер
NullCordX | Высокопроизводительный bungeecord-сервер
Эффективный и bungee-сервер с наилучшей anti-bot системой
UniversalBlockerUltimate - универсальный блокиратор нежелательных действий в чате, командах и прочем
UniversalBlockerUltimate - универсальный блокиратор нежелательных действий в чате, командах и прочем
Универсальный плагин на блокировку всего, что вы только могли представить.
UltimateServerProtector
UltimateServerProtector
Многофункциональный плагин на защиту вашего сервера и её администрации!
PromisedChat - просто плагин на чат.
PromisedChat - просто плагин на чат.
На сей раз ФАКТИЧЕСКИ на чат.
OvTeleportAddon | Те самые красивые телепорты
OvTeleportAddon | Те самые красивые телепорты
Аддон на Essentials для красивых телепортов (Да-да КАК НА ФАНТАЙМЕ)
OvRandomTeleport - Новая рандомная телепортация | Рядом с базами - rtp base
OvRandomTeleport - Новая рандомная телепортация | Рядом с базами - rtp base
Универсальный ртп с гибкой настройкой
WorldGuardGriefFix - тот самый плагин на разрешение грифа в WorldGuard
WorldGuardGriefFix - тот самый плагин на разрешение грифа в WorldGuard
Плагин, который разрешает гриф в регионах WorldGuard
PlaceholderReplacerExpansion | Расширение на PlaceholderAPI для замены вывода плейсхолдеров
PlaceholderReplacerExpansion | Расширение на PlaceholderAPI для замены вывода плейсхолдеров
Лучшая альтернатива jsplaceholders
AdvancedItemCooldowns | Плагин на добавление кулдауна на предметы.
AdvancedItemCooldowns | Плагин на добавление кулдауна на предметы.
Высоко конфигурируемый плагин на добавление кулдауна предметам или группам предметов.
Руководство по использованию Spark
Руководство по использованию Spark
Документация по Spark для тех, кто плох в английском или не желает шариться по оф.докам.
SSCrashFix
SSCrashFix
Плагин на фикс краш машины при помощи люка и редстоуна
ВерхНиз