Paraffin 3.5 – Now with Better Minor Upgrade Support

Slowly but surely I’m getting through the list of feature requests everyone’s been asking for. This release of Paraffin brings support for the trick outline by Vagmi Mudumbai (http://geekswithblogs.net/Vagmi.Mudumbai/archive/2006/06/11/81426.aspx) of allowing minor upgrades (AKA patches) to remove files by setting the transitive bit on the component and adding a conditional element that evaluates to false.…

A Cool WinDBG/SOS Hidden Feature

Every once in a while you run across an undocumented trick that totally and completely makes your day. A great example of that is the ability to debug MSBuild scripts in Visual Studio. Today I ran across another amazingly useful feature in WinDBG and SOS for .NET 4.0 that will save you countless hours of…

Paraffin 3.13 and an Ask for Help

Before I get into the quick new features for Paraffin 3.13 (download here), I need to ask for your help. Pretty much from the first day I released Paraffin, I’ve been consistently getting the following question: I want to be able to uninstall obsolete components during minor upgrades. For this I would like to have…

Super Cool MSBuild Debugging In the VS IDE!

Have you ever tried to figure out why your MSBuild-based build is failing? While the diagnostic output is OK, it really isn’t an each task (no pun intended) to debug what’s going on in an MSBuild file with the traditional means of <Message> tasks. Fortunately, Dan Mosely, one of the MSBuild developers, had some time…

Updated PowerShell Script for Setting Your Symbol Paths

Here’s my latest script for setting up a user’s_NT_SYMBOL_PATH environment variable as well as Visual Studio 2010’s symbolsettings. In a previous version of this script, I wasn’t setting the publicsymbol server cache directory in Visual Studio so you could end up with downloadedsymbols in C:SYMBOLSPUBLIC instead ofC:SYMBOLSPUBLICMICROSOFTPUBLICSYMBOLS. #requires -version 2.0 #Wintellect .NET Debugging Code #(c)…

How to Capture a Minidump: Let Me Count the Ways

As I was waiting for a minidump I was grabbing on a very large and busy server application to finish writing, my mind wandered and I realized there were quite a few ways to grab a minidump today. Back in the old Windows days, when we had to program up hill in the snow both…

VS Remote Debugging Across Workgroups or Domains

Remote debugging in Visual Studio works great if both machines are on the same domain and/or workgroup. It also works dreamily if you’re doing straight native C++ where you can use the TCP/IP as the debugging transport. The problem comes in when you need to do remote debugging for managed code across domains or workgroups.…

Upcoming PowerShell Podcast Interview

If you haven’t guessed by now from my blog, I have a little bit of a passing interest in PowerShell these days. Hal Rottenburg from PowerScripting Podcast will be interviewing me about PowerShell and how it applies to developers. Of course I’ll have to talk about debugging in there somehow. I was honored to be…

Getting PDBs and Source When You Can’t Access Your Symbol Server

The other day I wrote about using SYMCHK.EXE from the Debugging Tools for Windows (WinDBG) install to pre-populate your symbol server cache. That prompted a question I got in email: Our test lab machines are isolated from the rest of our network and have no internet access. How can I get symbols and source over…

The Secret to Avoiding Debugger Slowdowns

Symbol Servers are one of the best things that have ever happened in Windows debugging. Having a central store for all PDB files makes the debugging experience so much better because you’ll always get exact right symbols with essentially no effort on your part. This means perfect call stacks on native code and if you’ve…