печать и отражение - PullRequest
       3

печать и отражение

0 голосов
/ 11 октября 2011

Я создал простой класс

    (1)    public class Inspector implements ClassFileTransformer{
    (2)     public byte[] transform(ClassLoader loader, 
String className, Class<?> clazz,
    (3)             ProtectionDomain domain, byte[] bytes)
    (4)     throws IllegalClassFormatException {
    (5)         // clazz.getName();
    (6)         System.out.println("in Transform");
    (7)         return bytes;
            }

            public static void premain(String agentArgument,
                    Instrumentation instrumentation) {
                System.out.println("in premain");
                instrumentation.addTransformer(new Inspector());
            }

Вывод: в premain \ n в Transform

Тогда, если я раскомментирую номер строки(5), я не могу получить все свои println после этой строки:

Вывод: в premain \ n

и этото же самое, когда я использую все методы из класса Class ...

Есть идеи?

1 Ответ

0 голосов
/ 11 октября 2011

Я думаю, это может быть из-за того, что clazz равен нулю.Он предоставляется только для переопределения или повторного преобразования класса.Ваш метод transform (), вероятно, генерирует NPE, что имеет тот же эффект, что и возвращение нулевого значения, то есть преобразование не выполняется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...