Debug Lambda expressions
Allow Quick Watch and other Debug functions to work with Lambda expressions.
"Expression cannot contain lambda expressions" makes this powerful language feature second-class within the IDE.
Especially for data intensive applications being able to write Lambda expressions in the Quick Watch, Watch, Immediate Windows and debug evaluation is a must have.
Now it's not allowed to debug Lamda Expression in QuickWatch, can you please add it?
Using Roslyn, it should be easier to support lambdas in the immediate/watch window. This would be enormously beneficial, as right now LINQ, one of the most powerful tools in .NET is not usable while debugging, which makes debugging with data sets a lot more difficult than it needs to be.
So that it's easier to debug.
Come on already, is this too hard?
UNDER REVIEW since February 08, 2012... you must be kidding! :D
Geilton Xavier commented
would be great!
Please add now!
Argiris Gerogiannis commented
Please add this feature.. come on now...
Please get this feature in until at least end of the century..
please add this feature!!
Vitor Canova Weingaertner commented
It's a "must have" feature for immediate window. Now with Roslyn I'm sure it's possible and not that hard.
Haresh Ambaliya commented
Visual Studio 2013 is already released, So now Please consider this feature for Visual Studio 2014
Please provide support to run and inspect lambdas and "Implicitly Typed Arrays" in immediate window.
Allon Guralnek commented
@Anonymous: You can do this today by setting a breakpoint inside the lambda, thereby enabling you to inspect each value that comes in and out of the lambda. As far as I know, you can't set a breakpoint inside a lambda using the mouse, you must use the keyboard. Put the cursor inside the lambda body (e.g. on the first token, or anything after the => and the whitespace that follows) then press F9 (or whatever keyboard shortcut you use to place a breakpoint). Only the inside of the lambda statement will turn red, and the debugger will break there for each item the lambda is evaluated against (so for an array of 100 items, using .Where() will cause the breakpoint to hit 100 times).
Does this include debug on Linq statements? If so it would get my votes.
We should be able to step through each method in a linq method syntax statement, seeing what is returned by each .LinqMethod() call. Yes this would involve eager evaluation, the equivalent of calling ToArray() etc after each method, but there should be an option to make this so, rather than having to manually break a six method linq statement into 6 different statements for debug only, in order to get to the bottom of an issue, then having to reconstruct the original statement when you've identified the prob!
Do I understand correctly that this idea is "under review" for more than 2 years?!
SATHE Rahul commented
+1 from Me
This is not fake. I take it to be one of those the most important features.
I for one vote for it, just because nobody comments doesn't mean it is fake. It means they have no extra info to add to it.
fake voters ! only 43 comments and 7300 votes ?! ... this is fake !
7200 votes but only 42 comments ? hmmm ...
Jared Parsons commented
Roslyn is not a pre-requisite for this feature (although Roslyn's hostable nature likely makes this an easier problem to solve)
Mehran Davoudi commented
I assume its prerequisite is the Roslyn.