|

Notice anything unusual about this screenshot (which I stole from Scott Guthrie's blog)?
Look at what it's debugging into. BaseDataBoundControl.cs. This is not Scott's website's code, but code from System.Web.UI.WebControls. This is VS2008 debugging into .NET source code!!!
And you will be able to do the same thing without having 800 Microsoft lawyers appearing on your doorstep!
Scott Guthrie just announced that Microsoft is going to let us view and even DEBUG into the .NET source code!
Can you even imagine? Rather than checking out source code in Reflector and trying to guess from that what the state of your objects may be or at what point within the .NET code things are failing, we will actually be able to debug directly into the source.
I'm trying to contain my glee.
As you can see by the relative length of my highlights below, debugging is what is of most interest to me. I wonder why? :-)
Here are the highlights:
1) MS will allow us to download the source code on demand (after agreeing to a license) from their site.
2) We'll be able to view the source
3) VS2008 (RTM, not before) will be have the capability of debugging into the libraries. Standard and Pro, not express.
4) it won't be every single library at first, but it will be many key libraries such as BCL, System.Data (my favorite! :-)), ASP.NET, Windows Forms and WPF. The rest will come on line as they are code-reviewed. What that usually means is all the swear words are scrubbed out of the comments.
5) This is not open source as in "free-for-all". They are not putting the source up on codePlex for us to help them and you are not going to be invited to contribute to Microsoft's .NET libraries. Sorry. I kinda like the idea that I won't have to worry about my apps breaking because a client downloaded a version of the .NET framework that was modified by god-knows-who. The licensing is pretty clear about this.
6) Debugging is dependant on the source being on your box, of course. While you can download the whole kit n' caboodle all at once (which will be quite large), you can also download on-demand as needed. As you step into source code, if it is not available, the binaries required for the source you are trying to step into will be downloaded from a remote server (source.msdn.microsoft.com/symbols) and is wired up in VS options. (See screenshots You'll have to do a little license acceptance , then you'll be on your way. After that, that particular part of the source will be on your computer. But if you try to debug into something else that's not there yet, you'll have to get that from the server as well. It sounds like it should flow pretty well. We'll see how that goes. Another interesting point is that they'll be using this mechanism for other source code delivery in the future. Not sure what that entails, but it seems notable.
Scott's post has screenshots of how this all works.
7) There doesn't seem to be an on/off switch for the debugging mechanism. Right now the recommendation for keeping your developers out of this feature is to "instruct them not to accept the license."
One other thing that I find interesting about this is that Scott Guthrie's blog seems to be the new "press release" mechanism for developer tools at Microsoft. I'm trying to remember how these things were done before blogs! :-) |