• <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>

            牽著老婆滿(mǎn)街逛

            嚴(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: 寫(xiě)入程序數(shù)據(jù)庫(kù)時(shí)出錯(cuò)”的解決方案

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

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

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

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

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

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

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

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

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


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

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

            評(píng)論

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            rem 在預(yù)生成事件里輸入 比如 c:\lnk1201\freepdb.cmd ServerD
            rem ServerD為你的被鎖住的PDB名字,一般來(lái)說(shuō)是exe名字而不是工程名。。。請(qǐng)注意
            rem 不過(guò)你要是沒(méi)修改輸出exe名字。直接就是工程名也是對(duì)的
            @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ù)  更多評(píng)論   

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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


            伊人久久大香线蕉综合Av| 日韩精品久久无码人妻中文字幕| 亚洲精品久久久www| 国产成人精品久久亚洲| 久久精品国产亚洲精品2020 | 国产国产成人久久精品| 久久综合狠狠综合久久综合88| 色老头网站久久网| 精品久久久久久中文字幕大豆网| 久久久久亚洲av无码专区 | 国产精品狼人久久久久影院| 狠狠色婷婷久久一区二区三区| 色婷婷综合久久久中文字幕| 国产偷久久久精品专区 | 国内精品免费久久影院| 久久精品人妻一区二区三区| 亚洲欧美日韩精品久久亚洲区| 欧美激情精品久久久久久久九九九 | 久久精品免费观看| 国产精品成人无码久久久久久| 狠狠色丁香久久综合婷婷| 99久久人人爽亚洲精品美女| 区久久AAA片69亚洲| 久久这里只精品国产99热| 99久久精品国产一区二区| 久久本道久久综合伊人| 中文精品久久久久人妻| 日韩乱码人妻无码中文字幕久久 | 国产午夜精品理论片久久影视| 久久久久久久久久久免费精品| 2021国产精品午夜久久| 久久精品国产福利国产秒| 欧美亚洲日本久久精品| av无码久久久久久不卡网站| 国产精品99久久久久久董美香| 要久久爱在线免费观看| 国产精品视频久久| 久久久无码精品亚洲日韩按摩| 国产成人精品久久亚洲高清不卡| 99久久综合国产精品免费| 久久99毛片免费观看不卡|