W7下 VC.NET \VC2003 無法 搜索

微軟太謙虛了,Win7對VS2003的兼容性並不像他說的那樣差。其實僅有兩個問題:

1、search時程序死掉

2、debug時鎖住pdb不釋放,下次build時出現文件寫錯誤

    對於第一個問題,在devenv.exe屬性的Compatibility的Settings中勾選“Disable visual themes”,或者停用Aero主題,使用Basic themes。

    對於第二個問題,可使用sysinternals工具handle來釋放對pdb的引用,在此不列出handle的使用,有興趣可以自己研究。下面給出一個批處理,關閉指定名稱的pdb文件佔用:

 

@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.exe -c %%d -y -p %%c   ) ) @echo on 

 

    將其保存到一個文件,放在project的pre-build event。當然,還需要一個參數來喂批處理中的%1。

 

來源:http://blog.sina.com.cn/s/blog_668aae7801017gmd.html

 

個人補充說明:

       不知道爲什麼,使用上面的命令。或者 單獨 使用 handle 查找devenv.exe 並沒有顯示佔用了pdb 。知道的xdjm 麻煩告知一下。

       我用的是另外一種方法,首先下載unlocker 軟件,注意win7 64 位的要下載對應的。然後在 預生成事件中輸入以下命令 :

    set path=%path%;C:\Program Files\Unlocker
if exist $(TargetDir)$(TargetName).pdb (Unlocker $(TargetDir)$(TargetName).pdb  /S) else echo 文件不存在. 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章