改了它!Windows的默认调试器

技巧与实践

笔者使用的系统是 Windows 2000 Server,系统上原来安装了VC 6.0,后来又安装了Visual Studio 2003 .NET。使用过一段时间后,由于系统空间不足,将Visual Studio 2003.NET卸载。最近在VC6.0下执行程序时,总是出现异常,出现异常后系统每次启动的调试工具是Visual Studio 2003 .NET,由于无法执行Visual Studio 2003,启动失败调试不了,所以无法定位发生异常的地方。无奈之下我想Windows肯定将启动调试器的信息存放在注册表中,于是在注册表进行了一番搜索,终于找到了设置默认调试器的地方。

打开注册表编辑器,展开“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\AeDebug”分支下的 Debugger保存的当前默认的调试器,键值为“F:\Program Files\Common Files\Microsoft Shared\VS7Debug\vs7jit.exe” -p %ld -e %ld,因此调用Visual Studio 2003 .NET;另一个键PreVisualStudio7Debugger的值为“F:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin\msdev.exe” -p %ld -e %ld,指明是VC6.0,该值应该是Visual Studio 2003 .NET安装时备份的默认调试器设置。

弄清上面两个键值的意义后,我将PreVisualStudio7Debugger的值复制到Debugger,保存设置,再运行要调试的程序时,出现异常后系统启用的调试工具就变成VC6.0了。