当我尝试在我的项目的任何方法的任何执行行上选择一个断点,并且我知道该方法应该被调用例如 4 次时,Intellij 跳过该断点 3 次并且仅在最后一次调用时停止。 方法示例(端点类):
@PayloadRoot(localPart = "getRelatedCIs", namespace = "http://www.projectname.com/ws")
public GetRelatedCIsResponse getRelatedCIs(GetRelatedCIs request) throws DataAccessException, WebServiceException {
GetRelatedCIsResponse response = new GetRelatedCIsResponse();
PageData page = request.getPageData();
List<ConfigItemReference> ciRefs = translateCiRefList(request.getCiRef());
RelatedCiResult relatedCis = configItemService.getRelatedCis(ciRefs, request.getRequestedType(),
new Page(page.getPageNumber(), page.getPageSize(), page.getTotal()), request.getSort());
response.getCis().addAll(relatedCis.getCis());
page.setTotal(relatedCis.getPageInfo().getTotal());
page.setPageSize(relatedCis.getPageInfo().getPageSize());
response.setPageData(page);
System.out.println("****************************INVOCATION***************************" + request.getRequestedType());
return response;
}
在方法的第一行选择断点。当程序停止时,控制台已经打印了 3 行 ****************************INVOCATION******** **********************
在屏幕的左下方出现绿色通知:
跳过 %code reference% 处的断点,因为它发生在调试器评估中
但我在执行调试时不使用任何 Evaluate Expression 功能。 还有我的运行/调试配置的 VM 选项:
-XX:MaxPermSize=512m
-Xms256m
-Xmx1024m
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=9004
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
最佳答案
问题在 IDEA-43728 中描述在breakpoints documentation .
简而言之,要避免它使用挂起线程(不是全部)断点策略。
关于java - 跳过断点,因为它发生在调试器评估中 - Intellij IDEA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47866398/