如何在单行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)
答案 0 :(得分:4)
你不能。
如果你像这样重构:
observable.addCallback(event-> {
return outer.doSth(event);
});
你可以。
答案 1 :(得分:1)
答案 2 :(得分:0)
在Eclipse 4.14.0中,当我将断点设置为lambda时,它会自动正确运行,并且能够调试lambda表达式。但是请注意,Eclipse也会在“行”本身的断点处停止(这是在执行流操作之前,因为它很懒):
在这里您可以看到group
变量的值:
因此您不必重新格式化代码。
答案 3 :(得分:0)
只是对@Holger 's发表this answer评论一个答案:
在->
之后断线就够了
observable.addCallback(event->
outer.doSth(event) //line break works here!
);