The .NET Framework has been updated to 4.6.2 (full announcement here) and it has one feature that is definitely worth shouting from the rooftops about.

In this release, we extended the CLR debugging APIs to enable the debugger to request more information and perform additional analysis when a NullReferenceException occurs. Using this information, a debugger will be able to determine which reference is null and provide this information to you, making your job easier.

That's right, the debugging API's will now, finally, tell you which variable is null!

These API's are not currently consumed by anything so it will probably be the next release of Visual Studio that contains these details. But in the meantime it's good just to know that soon we'll get an error telling us which item is null.

I don't doubt for a moment that this was a difficult problem to solve, otherwise it would have been before. Congratulations to the .NET team for it!