I write code like that with LINQ and such in .NET all the time and have no problem debugging it.
But I'm not sure if I'm missing some blindingly obvious.
i'm not familiar enough with the vocabulary to explain it perfectly, but i do it all the time.
example: list.Find(o=> { if (o.prop == "foo") { return true;} // visual studio will allow a breakpoint here else { return false;} });