跳过断点,因为它发生在调试器评估中 - Intellij IDEA

时间:2017-12-18 10:25:06

标签: java debugging intellij-idea

当我尝试在项目的任何方法的任何执行行中选择断点时,我知道应该调用此方法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 ******** *******************

屏幕左下方显示绿色通知:

在%代码引用%处跳过断点,因为它发生在调试器评估中

但在执行调试时,我不会使用任何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

3 个答案:

答案 0 :(得分:23)

问题在IDEA-43728breakpoints documentation中进行了描述。

简而言之,要避免使用挂起线程(并非所有)断点策略。

答案 1 :(得分:4)

尝试禁用“ toString()”对象视图 enter image description here

答案 2 :(得分:2)

我也一样,并且禁用此功能对我有帮助

enter image description here