• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            牽著老婆滿街逛

            嚴(yán)以律己,寬以待人. 三思而后行.
            GMail/GTalk: yanglinbo#google.com;
            MSN/Email: tx7do#yahoo.com.cn;
            QQ: 3 0 3 3 9 6 9 2 0 .

            Windows 7 使用 VS.NET 2003 時(shí)遇到“LNK1201: 寫入程序數(shù)據(jù)庫時(shí)出錯”的解決方案

            轉(zhuǎn)載自:http://xoyozo.me/blog/lnk1201-error-at-every-build.html

            Windows 7 使用 VS.NET 2003 開發(fā)項(xiàng)目時(shí)經(jīng)常會遇到類似如下錯誤:

            TestServer fatal error LNK1201: 寫入程序數(shù)據(jù)庫“d:\Projects\GameServer\data\TestServer.pdb”時(shí)出錯;請檢查是否是磁盤空間不足、路徑無效或權(quán)限不夠

            在排除了空間、路徑、權(quán)限等原因后仍然無法順利生成項(xiàng)目,微軟官方也沒有提供相關(guān)的解決方案,Google 了好幾天也找不到網(wǎng)友任何修復(fù)建議,今天偶然發(fā)現(xiàn) MSDN 上一篇帖子,正是討論這個(gè)問題,于是嘗試按照上面的步驟進(jìn)行操作,竟然真的可以!特分享給大家~

            一、首先下載兩個(gè)文件:Handle 和 freepdb

            二、解壓這兩個(gè)壓縮包,并把“freepdb.cmd”和“handle.exe”兩個(gè)文件移至同一目錄下(如 C:\LNK1201\);

            三、用 VS.NET 2003 打開一個(gè)項(xiàng)目,在解決方案資源管理器中項(xiàng)目文件上點(diǎn)右鍵屬性,展開“生成事件”,點(diǎn)擊“預(yù)生成事件”,在右側(cè)命令行中填入:<path>\freepdb $(ProjectName) ;

            四、完成!運(yùn)行一下看看吧。如果仍然有問題,先雙擊運(yùn)行這兩個(gè)文件試試,因?yàn)槲沂窍冗\(yùn)行后再配置項(xiàng)目屬性的,所以不確定不運(yùn)行會不會出錯。

            如果上述文件無法下載,請聯(lián)系 xoyozo 索取!Have fun!


            兔子同學(xué)提供了修改后可用的版本,其中包含了Handle.exe和FreePDB.bat:/Files/tx7do/LNK1201.rar

            posted on 2011-02-12 15:08 楊粼波 閱讀(4909) 評論(16)  編輯 收藏 引用

            評論

            # re: Windows 7 使用 VS.NET 2003 時(shí)遇到“LNK1201: 寫入程序數(shù)據(jù)庫時(shí)出錯”的解決方案 2011-02-13 09:56 zwp

            感謝啊,這個(gè)問題困擾好久了。
            不過剛剛新建個(gè)項(xiàng)目,又沒有出現(xiàn)上述問題,待重現(xiàn)的時(shí)候一定要試試。
            不過如果一個(gè)項(xiàng)目一個(gè)項(xiàng)目地添加link pre,太麻煩了,我直接放在外部工具里,應(yīng)該也有效。
              回復(fù)  更多評論   

            # re: Windows 7 使用 VS.NET 2003 時(shí)遇到“LNK1201: 寫入程序數(shù)據(jù)庫時(shí)出錯”的解決方案 2011-02-13 10:16 楊粼波

            哦?這樣的么?
            我之前用Windows 7 32位的時(shí)候,有的項(xiàng)目會有問題,有的不會,很是奇怪,我估計(jì)可能是權(quán)限的問題還是怎樣的。

            但是,我前幾天換到了64位的操作系統(tǒng)以后,就有問題了,奇了個(gè)怪。說實(shí)話,讓我每個(gè)項(xiàng)目都這樣做,我也很煩。
            但是,我現(xiàn)在每調(diào)試一次,就要關(guān)閉一次工程,這很煩人的。  回復(fù)  更多評論   

            # re: Windows 7 使用 VS.NET 2003 時(shí)遇到“LNK1201: 寫入程序數(shù)據(jù)庫時(shí)出錯”的解決方案 2011-02-23 12:33 zwp

            后來發(fā)現(xiàn)還是不行,沒法確定工程生成的pdb文件名以及位置。除非所有的工程都是按照默認(rèn)位置和名字來存放pdb文件。
            于是,只有下了個(gè)GUI版本的procexp,手動強(qiáng)制關(guān)閉devenv.exe相關(guān)工程對應(yīng)的pdb文件句柄。  回復(fù)  更多評論   

            # re: Windows 7 使用 VS.NET 2003 時(shí)遇到“LNK1201: 寫入程序數(shù)據(jù)庫時(shí)出錯”的解決方案 2011-02-23 12:35 zwp

            @楊粼波
            要么自己為每個(gè)工程寫一個(gè)prelink事件,通過命令行強(qiáng)制關(guān)閉被打開的pdb文件句柄,
            要么在調(diào)試后鏈接前用procexp強(qiáng)制關(guān)閉下pdb的文件句柄。
              回復(fù)  更多評論   

            # re: Windows 7 使用 VS.NET 2003 時(shí)遇到“LNK1201: 寫入程序數(shù)據(jù)庫時(shí)出錯”的解決方案[未登錄] 2011-02-23 20:59 楊粼波

            都挺煩人的。  回復(fù)  更多評論   

            # re: Windows 7 使用 VS.NET 2003 時(shí)遇到“LNK1201: 寫入程序數(shù)據(jù)庫時(shí)出錯”的解決方案 2011-03-12 16:44 兔子

            freepdb.cmd的代碼里面有問題。我修改了一下。現(xiàn)在可以了。等我傳上來,這問題困擾我好久了  回復(fù)  更多評論   

            # re: Windows 7 使用 VS.NET 2003 時(shí)遇到“LNK1201: 寫入程序數(shù)據(jù)庫時(shí)出錯”的解決方案 2011-03-12 17:09 兔子

            rem 在預(yù)生成事件里輸入 比如 c:\lnk1201\freepdb.cmd ServerD
            rem ServerD為你的被鎖住的PDB名字,一般來說是exe名字而不是工程名。。。請注意
            rem 不過你要是沒修改輸出exe名字。直接就是工程名也是對的
            @echo off

            if "%1"=="" (
            echo Usage: freepdb filename
            echo This will free all handles of VS2003 on filename.pdb
            echo Requires the Handle utility from Windows Sysinternals
            goto :eof
            )

            cd /d "%~dp0"


            for /f "tokens=2 skip=5 delims=:" %%a in ('handle -p devenv.exe "%1.pdb"') do (
            rem 尋找pid
            for /f "tokens=1-2" %%b in ("%%a") do (
            for /f "tokens=3 skip=5 delims=:" %%d in ('handle -p devenv.exe "%1.pdb"') do (
            rem 尋找FileID
            for /f "tokens=1-2" %%e in ("%%d") do (
            rem 執(zhí)行關(guān)閉命令
            rem 此時(shí)%%b為pid
            rem 此時(shí)%%f為fileid
            handle -c %%f -y -p %%b %1 > NULL
            )
            )
            )
            )

            exit /b 0
              回復(fù)  更多評論   

            # re: Windows 7 使用 VS.NET 2003 時(shí)遇到“LNK1201: 寫入程序數(shù)據(jù)庫時(shí)出錯”的解決方案 2011-03-12 17:11 兔子

            今天閑著蛋疼。。。總算吧這個(gè)問題解決了。。。。。。。。。。。。。
            網(wǎng)上所有的freepdb.cmd都有問題  回復(fù)  更多評論   

            # re: Windows 7 使用 VS.NET 2003 時(shí)遇到“LNK1201: 寫入程序數(shù)據(jù)庫時(shí)出錯”的解決方案[未登錄] 2011-03-13 21:55 楊粼波

            ==!為啥蛋疼呢?  回復(fù)  更多評論   

            # re: Windows 7 使用 VS.NET 2003 時(shí)遇到“LNK1201: 寫入程序數(shù)據(jù)庫時(shí)出錯”的解決方案 2011-04-12 16:49 楊粼波

            根據(jù)我的觀察,每調(diào)試一次,pdb的句柄就增加一次,調(diào)試多次的話,此解決方案無效,縱使關(guān)閉掉了IDE打開的文件句柄,文件卻無法做寫操作。用VS2003在Windows7上面調(diào)試就是一個(gè)巨大的悲劇。
            最好的解決方案是:調(diào)試一次,關(guān)閉一次IDE。  回復(fù)  更多評論   

            # re: Windows 7 使用 VS.NET 2003 時(shí)遇到“LNK1201: 寫入程序數(shù)據(jù)庫時(shí)出錯”的解決方案 2011-10-17 16:22 煙圈

            兔子的版本好使,不過啟動的時(shí)候注意要 管理員身份打開 vs  回復(fù)  更多評論   

            # re: Windows 7 使用 VS.NET 2003 時(shí)遇到“LNK1201: 寫入程序數(shù)據(jù)庫時(shí)出錯”的解決方案 2012-01-12 10:27 星爺

            不想以管理員模式運(yùn)行,兔子的版本無效。  回復(fù)  更多評論   

            # re: Windows 7 使用 VS.NET 2003 時(shí)遇到“LNK1201: 寫入程序數(shù)據(jù)庫時(shí)出錯”的解決方案[未登錄] 2012-01-14 21:08 楊粼波

            我這里加載了很多dll,dll會有pdb文件,好像不會卸載。
            擦,我現(xiàn)在是相當(dāng)相當(dāng)?shù)耐纯啵?br>非常的想把VS升級上去了。  回復(fù)  更多評論   

            # re: Windows 7 使用 VS.NET 2003 時(shí)遇到“LNK1201: 寫入程序數(shù)據(jù)庫時(shí)出錯”的解決方案 2012-10-19 16:07 李漢文

            我今天下載后用了freepdb,可是我的是一下要打開同樣的應(yīng)用程序幾個(gè)用來生成不同的程序的,然后按照上面說的方法試了以后,只打開一個(gè)還可以,再打開同樣的文件的時(shí)候就出現(xiàn)了問題,前面打開的程序消失了。。。是不是就應(yīng)該freepdb的原因,把我前面那個(gè)程序生成的PDB給刪了??急求解哦@兔子
              回復(fù)  更多評論   

            # re: Windows 7 使用 VS.NET 2003 時(shí)遇到“LNK1201: 寫入程序數(shù)據(jù)庫時(shí)出錯”的解決方案 2014-04-22 14:45 9527

            好的,管用  回復(fù)  更多評論   


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            人人狠狠综合久久88成人| 伊人久久久AV老熟妇色| 日韩精品久久无码人妻中文字幕| 三级片免费观看久久| 伊人久久综合精品无码AV专区| 婷婷久久五月天| 久久久亚洲欧洲日产国码aⅴ| 久久乐国产精品亚洲综合| 亚洲精品WWW久久久久久| 亚洲综合伊人久久综合| 中文字幕乱码人妻无码久久| 99久久国产综合精品成人影院| 久久天天躁狠狠躁夜夜av浪潮 | 久久艹国产| 久久99国产精品二区不卡| 久久这里只精品99re66| 精品永久久福利一区二区| 久久久久高潮毛片免费全部播放 | 亚洲狠狠婷婷综合久久蜜芽| 亚洲国产综合久久天堂| 成人免费网站久久久| 国产成人精品久久二区二区| 久久综合九色欧美综合狠狠 | 久久久久亚洲av无码专区 | 久久99精品久久久久久齐齐| 成人久久综合网| 99久久精品午夜一区二区 | 久久99热这里只有精品66| 亚洲欧美成人久久综合中文网 | 99久久无色码中文字幕人妻| 久久久久久国产a免费观看黄色大片| 亚洲午夜久久影院| 久久91精品国产91久久麻豆| 久久久久久久久久久久中文字幕 | 久久99热精品| 精品亚洲综合久久中文字幕| 午夜精品久久久久久久| 久久综合噜噜激激的五月天| 久久66热人妻偷产精品9| 久久精品视频网| 94久久国产乱子伦精品免费|