首先下载Handle.exe, 然后将如下脚本保存为freepdb.bat
@echo off
cd /d "%~dp0"
for /f "tokens=2-3 skip=5 delims=:" %%a in ('handle -p devenv.exe "%1.pdb"') do (
for /f "tokens=1,4" %%c in ("%%a %%b") do (
handle -p %%c -c %%d -y >NUL
)
)
exit /b 0
将freepdb.bat文件和handle.exe放在同一个目录,在VS2003中,右键Project->Properties->Build Events->Pre-build Event, 在Command Line中输入如下指令:
"<freepdb.bat path>" $(ProjectName)比如我的freepdb.bat 和handle.exe都放在D:\下,那么就是 "D:\freepdb.bat" $(ProjectName), 建议路径带着双引号,以防有空格。 由于handle.exe需要管理员权限来运行,所以最好是将devenv.exe设置为"Run this program as an administrator"。网上还有说设置XP兼容模式的方法,本人未确认。
2. 据说是由于与Win7 的Aero用户界面冲突引起的。我是通过两步解决的,不知道是不是任意一步就可以。 右键devenv.exe, Properties->Compatibility, 勾上Disable visual themes, 确定; 桌面右键,Personalize, 将主题选择为Windows 7 Basic.