JPDA MethodEntryEvent заставляет приложение работать очень медленно

Я пытаюсь захватить все вызовы методов, сделанные в любом приложении для Android. Для этого я использую JDI, чтобы зарегистрировать MethodEntryRequest для каждого работающего потока приложения. Мне удалось это сделать, но я столкнулся с проблемой, что приложение становится очень очень медленным. Поэтому я хочу знать, делаю ли я что-то не так в своей реализации. Я добавляю свой код, где я сначала регистрирую ClassPreparedRequest, чтобы отследить загрузку каждого класса процессом приложения, и в этом я регистрирую MethodEntryRequest с threadfilter для потока, который вызвал загрузку класса.

 if(!traceMap.keySet().contains(event.thread()))
    {
        EventRequestManager mgr = vm.eventRequestManager();
        MethodEntryRequest menr = mgr.createMethodEntryRequest();
        menr.setSuspendPolicy(EventRequest.SUSPEND_NONE);
        menr.addThreadFilter(event.thread());
        menr.enable();
    }

Код для регистрации ClassPreparedRequest есть

    ClassPrepareRequest cpr = mgr.createClassPrepareRequest();        
    cpr.addClassFilter("com.example.*");
    cpr.setSuspendPolicy(EventRequest.SUSPEND_NONE);
    cpr.enable();  

0 ответов

Другие вопросы по тегам