Do you want to work on the CLR?

So we’ve just shipped VS2005 and CLR (.NET) 2.0. It’s an awesome product, and we’re gearing up for V3, which is also going to be great. My team, CLR Developer Services (includes Debugging services), is hiring a Software Developer Engineer. See here for the job description. We’ve got some extremely exciting opportunities in the Debugging…

0

Merry Christmas!

Merry Christmas!   (This post brought to you courtesy of Community Server’s “publish at future date” option)

2

A SymWriter sample is coming…

Reading managed PDBs is a common request, and the PDB–>XML sample does that nicely. I’ve had a lot of people asking me about how to write a PDB file (eg,  an XML–>PDB tool). Part of the problem is that the managed wrappers across the symbol writer interfaces have some shortcomings. The good news is that…

2

Check out CLR Profiler 2.0

FYI, in case you haven’t heard from everybody else saying the same thing a month earlier, CLR Profiler for .NET 2.0 is available for free download here: http://www.microsoft.com/downloads/details.aspx?FamilyId=A362781C-3870-43BE-8926-862B40AA0CD0&displaylang=enYou can download it and immediately have it running in less than 3 minutes. Try it out on your favorite managed app.This is a great tool for analyzing…

2

Source Control for 1

It’s obvious that a project with 10 people requires some form of Source Control. But I find source control still very valuable for even my 1-person pet projects, for similar reasons as to why it’s valuable for larger projects: 1. Source-control lets me make more discrete changes. 2. This makes it easier to track down…

6

Don’t rewrite opcodes in managed code.

Some tools work by replacing instructions in the target app. The tool may introduce a jump to some stub that will still execute the original instructions. This may work fine in native code, but you can’t safely changed arbitrary instructions in JITed (e.g. managed) code. For example, tools can’t safely rewrite the prolog of a…

1

Using MC++ to wrap ICorDebug for .NET 1.1

MDbg and the managed wrappers around ICorDebug only work on .NET 2.0 (VS2005). I previously discussed why they won’t work on 1.1. One workaround to access ICorDebug from managed code in .NET 1.1 is to use MC++. In general, MC++ can be extremely useful for gluing managed and unmanaged code together. Using MC++:MC++ will let…

1

Christmas blog decorations!

It’s the Christmas season, we’ve decorated our house, and I figured I’d decorate my blog too! It’s times like that I wish I knew more about HTML, CSS, and how Community Server allows formatting. Then I could have really have some fun with this. As is, I don’t know much about any of that, so…

6

Evil trick to render UI when stopped at a breakpoint.

Here’s an EVIL trick to render your UI in a winforms app when you’re stopped at a breakpoint. When managed-debugging, when you hit a breakpoint, all the managed threads stop. With a winforms app, the UI thread is managed and so it stops too. However, that same UI thread that’s pumping WM_Paint messages is also…

2

"Visual Studio 2003 Mixed Mode Debugging Crash"

It’s great that 2005 has shipped. I personally enjoy using it for my own pet projects and I’m very pleased. But shipping a V2 also means exposing versioning problems in the V1 design. Such an issue came up on the forums, which basically boils down to: VS 2003 crashes when:1. I install VS20052. I’m interop…

8