跳过断点,因为它发生在调试器评估中 \- 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******** **********************

在屏幕的左下角出现绿色通知:

已跳过 %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

原文由 Roman Khomyshynets 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.7k
2 个回答

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

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

原文由 Egor 发布,翻译遵循 CC BY-SA 4.0 许可协议

尝试禁用“toString()”对象视图 在此处输入图像描述

原文由 hedleyyan 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题