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


            欧美777精品久久久久网| 国产Av激情久久无码天堂| 无码乱码观看精品久久| 日韩精品无码久久一区二区三| 亚洲国产精品综合久久网络| 久久久久久久人妻无码中文字幕爆| 九九久久99综合一区二区| 三级韩国一区久久二区综合 | 伊人久久大香线焦综合四虎| 久久久久人妻一区精品| 久久亚洲AV成人无码| 草草久久久无码国产专区| 中文字幕久久波多野结衣av| 国产精品99久久久久久www| 亚洲AV无码1区2区久久| 亚洲精品无码久久久久AV麻豆| 国产成人久久激情91| 色欲久久久天天天综合网精品| 久久精品国产一区二区三区| 97精品久久天干天天天按摩| 东方aⅴ免费观看久久av| 欧美午夜A∨大片久久| 免费国产99久久久香蕉| 91精品国产91久久久久福利| AV无码久久久久不卡蜜桃| 一本一本久久a久久精品综合麻豆| 亚洲狠狠综合久久| 国产成人精品久久综合| 日本精品久久久中文字幕| 久久国产亚洲精品麻豆| 99久久er这里只有精品18| 久久精品无码一区二区无码| 天天爽天天狠久久久综合麻豆| 亚洲中文久久精品无码ww16| 性高湖久久久久久久久| 久久婷婷国产综合精品| 精品蜜臀久久久久99网站| 2020久久精品国产免费| 99久久99久久精品国产片果冻| 久久久久久综合一区中文字幕| 99久久国产主播综合精品 |