日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > c/c++ >内容正文

c/c++

VC编写的程序不能在其他机器上运行的解决方案(续)

發(fā)布時(shí)間:2025/3/12 c/c++ 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VC编写的程序不能在其他机器上运行的解决方案(续) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

我在前面的文章里面提到由于side-by-side問(wèn)題導(dǎo)致的VC編寫(xiě)的程序不能正常啟動(dòng)的問(wèn)題的解決方案,這種方法是針對(duì)于單個(gè)可執(zhí)行文件的解決方案,但是有的時(shí)候你可能會(huì)碰到另外一種情況—也是由于side-by-side問(wèn)題導(dǎo)致的,你的程序支持插件,當(dāng)你的程序試圖加載一個(gè)依賴于CRT的DLL的時(shí)候,Windows告訴你不能加載DLL。

?

比如微軟在06年發(fā)布了CLR的開(kāi)源版本,你在自己機(jī)器上用Visual Studio 2008編譯以后,在使用Windbg + SOS調(diào)試托管代碼的時(shí)候,Windbg可能會(huì)報(bào)告無(wú)法加載SOS的錯(cuò)誤,例如下面的Windbg輸出:

CommandLine: binaries.x86dbg.rotor"clix.exe pptclrt"ForAndForeach.exe

Executable search path is:

ModLoad: 7c800000 7c91e000?? C:"WINDOWS"system32"kernel32.dll

ModLoad: 79e00000 79e0a000?? C:"sscli20"binaries.x86dbg.rotor"sscoree.dll

(1484.1358): Break instruction exception - code 80000003 (first chance)

ntdll!DbgBreakPoint:

7c92120e cc?????????? ???int???? 3

0:000> .load C:"sscli20"binaries.x86dbg.rotor"sos.dll

The call to LoadLibrary(C:"sscli20"binaries.x86dbg.rotor"sos.dll) failed, Win32 error 0n126

??? "找不到指定的模塊。"

Please check your debugger configuration and/or network access.

1.?????????當(dāng)你在C:"sscli20"binaries.x86dbg.rotor"查看sos.dll是否存在的時(shí)候,將會(huì)驚訝地發(fā)現(xiàn)sos.dll靜靜地躺在文件夾里面等待別人發(fā)現(xiàn)它!然而為什么Windbg在調(diào)用操作系統(tǒng)LoadLibrary API的時(shí)候,操作系統(tǒng)會(huì)報(bào)告說(shuō)“找不到指定的模塊”呢?

2.?????????再仔細(xì)看一下,文件夾里面有sos.dll.manifest文件,確認(rèn)一下內(nèi)容,里面依賴的CRT版本的的確確是我們機(jī)器上安裝好了的CRT版本呀!

<?xml?version='1.0'?encoding='UTF-8'?standalone='yes'?>

<assembly?xmlns='urn:schemas-microsoft-com:asm.v1'?manifestVersion='1.0'>

?<trustInfo?xmlns="urn:schemas-microsoft-com:asm.v3">

??? <security>

????? <requestedPrivileges>

??????? <requestedExecutionLevel?level='asInvoker'?uiAccess='false'?/>

????? </requestedPrivileges>

??? </security>

?</trustInfo>

?<dependency>

??? <dependentAssembly>

????? <assemblyIdentity?type='win32'?name='Microsoft.VC90.DebugCRT'version='9.0.21022.8'?processorArchitecture='x86'publicKeyToken='1fc8b3b9a1e18e3b'?/>

??? </dependentAssembly>

?</dependency>

</assembly>

?

3.?????????于是我們猜測(cè),可能是操作系統(tǒng)在加載dll的時(shí)候,并不查看dll的manifest文件,也就不會(huì)去加載CRT,從而導(dǎo)致SOS.DLL加載失敗。

4.?????????那既然是懷疑操作系統(tǒng)不會(huì)根據(jù)dll的manifest文件來(lái)加載CRT的話,那我們是不是可以為Windbg.exe創(chuàng)建一個(gè)manifest文件來(lái)告訴操作系統(tǒng)在運(yùn)行windbg的時(shí)候先把CRT加載進(jìn)內(nèi)存,然后在SOS加載的時(shí)候,因?yàn)镃RT已經(jīng)提前加載進(jìn)Windbg的進(jìn)程中了,也就不會(huì)有依賴項(xiàng)不能加載而導(dǎo)致SOS加載失敗的問(wèn)題了。

5.?????????接著將sos.dll.manifest復(fù)制一份并且重命名為windbg.exe.manifest,最后把它放到windbg.exe同一個(gè)文件夾里面去。再啟動(dòng)windbg加載sos試一下,還是不行,郁悶!

?

難道就像以前昭君出塞的故事一樣,是因?yàn)镾OS.DLL沒(méi)有潛規(guī)則導(dǎo)致操作系統(tǒng)不愿意加載它?

據(jù)《西京雜記》的描述,元帝后宮的美女實(shí)在太多了,根本不可能一個(gè)個(gè)當(dāng)面鑒賞。他便讓“黃門(mén)畫(huà)者”(宮廷畫(huà)工)把她們的肖像全都畫(huà)出來(lái),交給自己挑選。

?

  宮女們的命運(yùn)鬼使神差地掌握在了畫(huà)工們的手中,她們便爭(zhēng)相向這些畫(huà)工行賄,多則10萬(wàn)錢(qián),再少也不低于5萬(wàn)錢(qián)。負(fù)責(zé)給王昭君畫(huà)像的畫(huà)工叫毛延壽,王昭君自恃才貌雙絕,不愿屈身相求,更拿不出這么多錢(qián)來(lái)賄賂他。毛延壽便在她的臉上隨手點(diǎn)了一顆黑痣。

?

  元帝對(duì)這么一個(gè)并不完美的女子,自然提不起興趣。因此,王昭君入宮好幾年,都沒(méi)有機(jī)會(huì)被召幸,內(nèi)心的委屈與悲怨不言而喻。

?

正如哥們我仍然單身,一定不能放過(guò)一個(gè)美女一樣!我們也不能讓這種問(wèn)題就此埋沒(méi)下去,于是我們?cè)俅蜗肫餸t.exe程序,實(shí)際上我們應(yīng)該叫它(mp.exe –?媒婆.exe),:)

讓我們看看Windbg資源里面是否已經(jīng)嵌入一個(gè)manifest文件了,才導(dǎo)致我們自己加的manifest沒(méi)有作用,使用下面的命令看一看:

mt -inputresource:d:"Debuggers"windbg.exe;#1 -output:test.manifest

哼哼,果然有一個(gè):

<?xml?version="1.0"?encoding="UTF-8"?standalone="yes"?>

<assembly?xmlns="urn:schemas-microsoft-com:asm.v1"?manifestVersion="1.0">

<assemblyIdentity?name="Microsoft.Windows.SdkTools.windbg"?processorArchitecture="x86"version="6.9.0.0"?type="win32"></assemblyIdentity>

<description>Windows GUI symbolic debugger</description>

<dependency>

??? <dependentAssembly>

??????? <assemblyIdentity?type="win32"?name="Microsoft.Windows.Common-Controls"version="6.0.0.0"?processorArchitecture="*"?publicKeyToken="6595b64144ccf1df"?language="*"></assemblyIdentity>

??? </dependentAssembly>

</dependency>

</assembly>

但是里面并沒(méi)有說(shuō)windbg不依賴CRT,因此操作系統(tǒng)就隨便加載了一個(gè)CRT敷衍了事了,既然知道問(wèn)題所在了,那么我們要做的事情就比較簡(jiǎn)單了,將Windbg資源里面的manifest文件更新一下,然后再將Debug CRT包拷貝到Windbg同一個(gè)目錄里面就可以了。

?

1.?????????將test.manifest文件更新成:

<?xml?version="1.0"?encoding="UTF-8"?standalone="yes"?>

<assembly?xmlns="urn:schemas-microsoft-com:asm.v1"?manifestVersion="1.0">

<assemblyIdentity?name="Microsoft.Windows.SdkTools.windbg"processorArchitecture="x86"?version="6.9.0.0"?type="win32"></assemblyIdentity>

<description>Windows GUI symbolic debugger</description>

<dependency>

??? <dependentAssembly>

??????? <assemblyIdentity?type="win32"?name="Microsoft.Windows.Common-Controls"version="6.0.0.0"?processorArchitecture="*"?publicKeyToken="6595b64144ccf1df"language="*"></assemblyIdentity>

??? </dependentAssembly>

</dependency>

?

?<dependency>

??? <dependentAssembly>

????? <assemblyIdentity?type='win32'?name='Microsoft.VC90.DebugCRT'version='9.0.21022.8'?processorArchitecture='x86'publicKeyToken='1fc8b3b9a1e18e3b'?/>

??? </dependentAssembly>

?</dependency>

</assembly>

?

2.?????????執(zhí)行命令將Windbg資源里面的manifest文件更新一下。

mt -updateresource:d:"Debuggers"windbg.exe;#1 -manifest test.manifest

總結(jié)

以上是生活随笔為你收集整理的VC编写的程序不能在其他机器上运行的解决方案(续)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: av色吧| 成年女人毛片 | 国产aⅴ精品一区二区三区久久 | 永久精品网站 | 丝袜老师扒开让我了一夜漫画 | 深夜视频一区二区三区 | 激情欧美网站 | 中文字幕一区二区三区乱码人妻 | 日本国产在线视频 | www.五月激情 | 亚洲精品一区三区三区在线观看 | 爱爱精品 | 手机看片日韩在线 | 打屁股疼的撕心裂肺的视频 | 天堂网亚洲 | 日韩tv| 在线a网| 日本电影大尺度免费观看 | 日本黄色小说 | 成人一区二区在线 | 91精品人妻互换一区二区 | 在线观看免费高清在线观看 | 久久久久久久久久国产 | 免费成人深夜夜行网站视频 | 国产第一页屁屁影院 | 日韩欧美在线视频免费观看 | 日韩久久精品一区二区 | 91精品久久久久久久 | 一品毛片 | 国产啊啊啊啊 | 人人狠狠| 亚洲天天做 | 91精品国自产在线观看 | 日韩αv| 免费国产视频在线观看 | 欧美精品日韩 | 年代下乡啪啪h文 | 日本a免费 | 国产在线自 | 日本福利小视频 | 日本五十肥熟交尾 | 国产tv在线观看 | 成人在线免费播放视频 | 日韩视频免费观看高清完整版 | 欧美少妇诱惑 | 欧美在线视频网 | 色综合久久久久综合体桃花网 | 视频区小说区 | 国产精品电影在线观看 | 在线免费观看国产视频 | 欧美男女交配视频 | 亚洲av电影一区 | 特黄网站 | 国产三级av在线播放 | 爱爱一区二区三区 | 日日燥夜夜燥 | jizz高潮| 午夜视频久久 | 久久精品视频9 | 手机看片日韩在线 | 99精品欧美一区二区三区 | 欧美性色网站 | 欧美日韩免费观看视频 | 日本一区二区三区在线观看视频 | 一级黄色片网站 | 师生出轨h灌满了1v1 | 影音先锋男人站 | 欧美中文在线观看 | 欧美性猛交bbbbb精品 | 青草精品视频 | 色插综合 | 中出在线观看 | 成人免费视频毛片 | 亚洲男女在线 | 亚洲一级大片 | 女人被狂躁60分钟视频 | 国产精品一线天粉嫩av | 亚洲成人黄色av | 亚洲一区www| 久久久久亚洲av无码麻豆 | 青草伊人网 | 国产成人短视频在线观看 | 激情综合文学 | 欧美一区二区三区在线观看视频 | 三级网站视频 | 精品伊人久久 | 国产免费高清av | 手机看片国产精品 | 欧美成人精品在线观看 | 激情伦成人综合小说 | 日韩欧美一区二区三区在线观看 | 九九爱精品 | 亚洲最大综合网 | 美女免费福利视频 | 啊av在线 | 大香伊人| 人妻换人妻a片爽麻豆 | www成人啪啪18软件 | 欧美性猛交久久久乱大交小说 |