JIT Debugging 32-bit applications on 64-bit Windows

I found that using the x64 Debugging Tools to debug x86 applications on 64-bit windows can lead to all kinds of problems…

MSN/Live Messenger: Disable “Open main window when Messenger starts”

Windows Live messenger (aka MSN Messenger) has two settings for controlling startup behavior; one to tell it to auto-start at windows startup and one to tell it to open the main window when it starts. For unknown reasons, Microsoft decided to turn on the later option and DISABLE it if you turn off the former…

Cmd.exe explorer integration

You can start a cmd.exe command prompt in any subdirectory by right clicking it and slecting “cmd.exe” by adding the following to your registry:

Create the key “HKEY_CLASSES_ROOT\Folder\shell\cmd.exe\command“ and set the default value to a REG_EXPAND_SZ with this value:

“%SystemRoot%\system32\cmd.exe” /K PUSHD “%1″ & TITLE CMD.EXE %1
 

Here’s an example .reg file to do this, which can be downloaded here:

Windows Registry Editor Version 5.00
 
[HKEY_CLASSES_ROOT\Folder\shell\cmd.exe]
 
[HKEY_CLASSES_ROOT\Folder\shell\cmd.exe\command]
@=hex(2):22,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\
74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,63,\
00,6d,00,64,00,2e,00,65,00,78,00,65,00,22,00,20,00,2f,00,4b,00,20,00,50,00,\
55,00,53,00,48,00,44,00,20,00,22,00,25,00,31,00,22,00,20,00,26,00,20,00,54,\
00,49,00,54,00,4c,00,45,00,20,00,43,00,4d,00,44,00,2e,00,45,00,58,00,45,00,\
20,00,25,00,31,00,00,00
 

Also, in Windows Vista and newer versions, if you hold down the left shift key while right clicking on a folder, you get an extra menu item “Open Command Window Here” even without applying this registry change.

WinDbg explorer integration

You can execute any .exe file (and link to .exe file, with arguments) running under WinDbg by right clicking it and selecting “WinDbg” by adding the following to your registry:

Create the key “HKEY_CLASSES_ROOT\exefile\shell\WinDbg\command” and set the default value to a REG_EXPAND_SZ with this value:

“%ProgramFiles%\Debugging Tools for Windows (x64)\windbg.exe” -o -W [Your workspace] “%1″ %*
 

-or-

“%ProgramFiles%\Debugging Tools for Windows (x86)\windbg.exe” -o -W[Your workspace] ”%1″ %*
 

(Choose the  x64 or x86 version depending on your OS)…