Early Access Build 7: A Leap Build

It’s our first release of 2012, and it’s a leap year, so we’re jumping right ahead to EA build 7 (we actually released build 6 quietly over the holidays, but a lot of the work was preparation for Build 7). We’ve been focusing on fine-tuning our integration with Visual Studio, as well as making the best use of our resident UX specialist. We released this at the very end of last week, so the dust has settled, the post-it notes have all been moved, and now is a good time to take a look at the latest enhancements.

The latest .NET Reflector sprint is complete

Let’s see what’s new.

Setting Break Points

Clive has previously talked about the type by type decompilation we’ve been working on, which lets us provide exactly the code you need, without asking you to jump out to Reflector.exe. We wanted to keep improving the debugging experience, so since the New Year break we’ve been working on integrating more closely with this process inside of Visual Studio.

In the latest EA build, if you have hit F12 to Go To Definition on something (and we’ve decompiled it for you), you can now hit F9 or click in the glyph margin to set a break point. Reflector will automatically generate the necessary pdb file for you, and you’ll be able to start a debugging session to run the code like it was your own.

In fact, once the pdb files are generated, you should be able to perform every native Visual Studio debugging action on the newly decompiled code, be it toggling a breakpoint, inserting new ones, setting a new ‘Break at a Function’ breakpoint, etc.

For a running application, you can also view whether the symbols for your recently generated pdb files were loaded by the Visual Studio debugger via the Modules window.

.NET Reflector dynamically decompiles code when a break point is set.

Stepping Into Code

We’ve also made some progress working alongside the Step Into functionality. So if you’ve generated a pdb for the code you’re looking at, you should be able to just hit F11 to animate the code, and look at what it’s doing. If, for some reason, we can’t step into some code, Reflector will tell you exactly which function it stepped over so you can look at it in more depth.

Naturally, you can also choose to stop displaying these alerts. However, at the moment, there’s no way to turn them back on again, although we’re planning on working that into a future release.

PDB Generation

You’ll also be able to generate multiple pdbs as you’re working by right-clicking in the Reflector Object Browser (or even on the references in your solution explorer) and selecting “Enable Debugging”.

.NET Reflector generates multiple PDB files to enable smooth debugging.

Generating pdbs can take a little time, especially if you’re doing lots of them at once or doing it for especially large assemblies, but you should only have to do it once for each assembly you want to look at. Naturally, we’re going to keep working on this process to make it faster.

Finally we thought we’d give the trial dialog screens a bit of a facelift for the New Year, and as part of our continuing UI overhaul.

The new .NET Reflector trial dialog, now with extra UX.

As always, we want to hear about what you think we’re doing right or wrong, and indeed any feedback you’d like to share with us. Contact us at eap@reflector.net or on the EAP forums.

Previous posts mentioning 7.5

Leave a Reply

Your email address will not be published. Required fields are marked *