Windows Vista: User Account Control and the Debugger

As far as the debugger is concerned, the biggest feature in Windows Vista is user account control. You can read all about it on technet -- but the basic idea is that even if you are an administrator on your computer, your programs normally run without administrative privileges. I am sure there will be detailed KB articles that come out before Windows Vista ships, but I figured I would briefly talk about it now for anyone thinking of playing around with Windows Vista.

Debugger Tips:

  1. To debug a service (such as ASP.NET), you need to give Visual Studio administrative privileges. To do this, right click on Visual Studio, and select ‘Run as administrator’ from the context menu. The same is true if the process is just running under a different user account, or if the process is running with administrative privileges under your user account.
  2. If the process you are trying to debug needs administrative privileges, you can give Visual Studio administrative privileges. Child processes normally get the same privileges as their parent.
  3. To configure the Windows Firewall for remote debugging, run Visual Studio / Visual Studio Remote Debugger once. This is a one time action, so once you have done it once, you are good to go.
  4. You can figure out if the process you are debugging has administrative privileges using the ‘$user’ pseudo-register. If ‘BUILTIN\Administrators’ is disabled, then your process isn’t elevated.

user.JPG