如何禁用JDI中的所有EventRequsts?

问题描述

要禁用JDI中的所有EventReqeusts,当前我正在使用:

private void disableRequest(EventRequest request,List < EventRequest > disabled) {
    request.disable();
    disabled.add(request);
}
...
List<EventRequest> requests = new ArrayList<>();
EventRequestManager manager = threadRef.virtualMachine().eventRequestManager();

manager.breakpointRequests().forEach(er - > disableRequest(er,requests));
manager.exceptionRequests().forEach(er - > disableRequest(er,requests));

manager.classUnloadRequests().forEach(er - > disableRequest(er,requests));
manager.classPrepareRequests().forEach(er - > disableRequest(er,requests));

manager.methodEntryRequests().forEach(er - > disableRequest(er,requests));
manager.methodExitRequests().forEach(er - > disableRequest(er,requests));

manager.accessWatchpointRequests().forEach(er - > disableRequest(er,requests));
manager.modificationWatchpointRequests().forEach(er - > disableRequest(er,requests));

manager.threadStartRequests().forEach(er - > disableRequest(er,requests));
manager.threadDeathRequests().forEach(er - > disableRequest(er,requests));

manager.monitorContendedEnteredRequests().forEach(er - > disableRequest(er,requests));
manager.monitorContendedEnterRequests().forEach(er - > disableRequest(er,requests));
manager.monitorWaitedRequests().forEach(er - > disableRequest(er,requests));
manager.monitorWaitRequests().forEach(er - > disableRequest(er,requests));

manager.stepRequests().forEach(er - > disableRequest(er,requests));

这可行,但是还有更简单的方法吗?同时调用所有这些方法相当慢...

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...