单/一行lambda中的Eclipse断点?

时间:2016-01-19 11:41:10

标签: java eclipse debugging lambda java-8

如何在单行lambda中设置断点?

e.g。调用std::vector<std::pair<int,int>> my_simi_map; for(auto& my_simi_map){ item.first*=2; // double all keys item.second*=2; // double all values } 时,我希望(eclipse)调试器暂停:

outer.doSth(event)

4 个答案:

答案 0 :(得分:4)

你不能。

如果你像这样重构:

observable.addCallback(event-> {
    return outer.doSth(event);
});
你可以。

答案 1 :(得分:1)

这个答案不适用于日食,但在Info你可以(15.x)

enter image description here

您可以选择在行(图像中的第一个选项)或第一个lambda或第二个lambda处设置断点。等等。

答案 2 :(得分:0)

在Eclipse 4.14.0中,当我将断点设置为lambda时,它会自动正确运行,并且能够调试lambda表达式。但是请注意,Eclipse也会在“行”本身的断点处停止(这是在执行流操作之前,因为它很懒):

Breakpoint set as usual

在这里您可以看到group变量的值:

enter image description here

因此您不必重新格式化代码。

答案 3 :(得分:0)

只是对@Holger 's发表this answer评论一个答案:

->之后断线就够了

observable.addCallback(event-> 
          outer.doSth(event) //line break works here!
);
相关问题