It's a general perception that windbg and cdb are tools for a power debugger. Quite true! With the extensions and powerful commands, they provide the toolset you need to literally rip apart any process. Looks like VS debugger is getting there too.

Just last week I realized that Visual Studio 2005 has something called pseudovariables. These curiously named variables can yield you some power that you are so used to in the windbg land. In fact MSDN has documented these for long time.

Managed code can only use the $user and $exception variable of these. Try it out. Particularly $user. It gives a lot of helpful information on process and thread tokens. Pretty helpful if you are debugging impersonation problems in the managed world. Just type it in the watch window and debug away!!!