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

2022-08-31 19:55:43

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

在屏幕的左下角显示绿色通知:

在 %code reference% 处跳过断点,因为它发生在调试器评估内部

但是,在执行调试时,我不使用任何“计算表达式”功能。此外,还有我的运行/调试配置的 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

答案 1

IDEA-43728断点文档中描述了此问题。

简而言之,为了避免它使用挂起线程(不是全部)断点策略。


答案 2

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