java 跳过断点,因为它发生在调试器计算内部- Intellij IDEA

inkz8wg9  于 2023-03-11  发布在  Java
关注(0)|答案(4)|浏览(181)

当我尝试在项目的任何方法的任何执行行上选择断点时,我知道这个方法应该被调用4次,Intellij跳过这个断点3次,并且只在最后一次调用时停止。方法示例(Endpoint类):

@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
zbq4xfa0

zbq4xfa01#

IDEA-43728和断点文档中描述了该问题。
简而言之,要避免这种情况,请使用暂停线程(不是所有线程)断点策略。

czfnxgou

czfnxgou2#

尝试禁用“toString()”对象视图

3vpjnl9f

3vpjnl9f3#

我也有同样的问题,而且禁用这个帮了我

cld4siwp

cld4siwp4#

选中下面的复选框帮助我最大限度地减少了此错误频率。“设置|构建、执行、部署|调试器|步进-仅恢复当前线程”(根据修复https://youtrack.jetbrains.com/issue/IDEA-43728中的建议)

相关问题