内容字号:默认大号超大号

段落设置:段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

乐虎游戏官网universal androot怎么用?跟ROOT权限有关?

> 资讯 >

乐虎国际官方版摆脱DLL地狱困扰之目前的困境

2017-12-30 11:12 出处:乐虎游戏官网 人气:   评论(0

  正在 Windows 系统中,动态库版本冲突实正在是一个老迈难的问题了,为领会决这个问题,除了利用大量现有的东西外,你还能够操纵丰硕的 Windows APIs 函数构制本人的调试东西和适用法式。做为例子,本文将供给三个这品种型的东西,会商若何操纵它们来处理动态库的冲突问题。这三个东西别离是:

  从所周知,动态库“地狱”(DLL Hell)曾经不是什么新颖玩意儿了,若是你利用第三方的 Dlls,必定会碰着不少取它相关的问题,如找不到入口点,或者库版本不兼容等。中答应组件的并行施行,削减了发生这种问题的几率,可是若是你还没有升级到 .NET 情况,那怎样办?针对这种环境,可用的方式是用分歧的东西跟踪 DLL 的依赖性。可是用尺度东西跟踪时,你可能最初得不到所要的消息。很多东西都没有你需要的功能,好比从动写日记文件,跟踪阐发,仅正在节制台操做脚本节制等。

  本文我们先用一些现有的东西来调查系统中的运转历程,然后系统地研究本文供给的三个东西:DllSpy, ProcessSpy 和 ProcessXP,以便正在此后的开辟或调试中利用这些东西和手艺。

  Depends.exe 是 Visual C++ 自带的一个东西。它可能是我们经常利用的东西中最简单的一个东西了,其功能是列出某个使用法式或 DLL 需要的 DLLs。这个法式正在本坐能够下载(更新版本请到下面这个地址下载:)。若是你需要看某个 DLL 或可施行文件的全路经,能够用它的上下文菜单进行设置:如图一:

  对于静态加载的环境(即便用法式正在链接过程中将 dlls 对应的 lib 文件链接到法式中),这个东西很是好用,但对于版本较新的系统,大多利用 COM 编程接口,或者说是用 COM 对象编程模子,而 COM 对象的实例化都是运转时加载或者说动态加载某个 DLL 文件,然后通过 LoadLibrary 和 GetProcAddress 挪用此中某个特殊的函数来实现的。你不晓得这个 DLL 是何时、从哪里被加载的。

  一种确定 DLLs 被动态加载的方式是找出需要被每一个历程加载的 DLL。Sysinternal 公司()供给了一个东西软件 ListDlls.exe。它是一个节制台法式,其图形用户界面(GUI)版本为 Process Explorer。如图二:

  除了列出被某个历程利用的 DLLs 之外,还能够用这个东西领会某个法式用到了哪个 kernel 对象,从版本3.11之后,Process Explorer 还能够让你正在两个快照之间轻松扫描到新的或未利用的对象。

  有时候正在你用 Process Explorer 扫描到某个历程之前,它可能曾经被加载然后又正在很短的时间内被卸载了。碰着这种环境时,你需要别的一品种型的东西,我们将正在后文中会商。

  为了把持历程和 DLLs,起首你必需晓得每一个被加载的 DLL 被哪些历程利用。本文的例子法式 DllSpy 实现目标即正在于此。如图三所示:

  DllSpy法式上面的窗格列出的是所有曾经加载的 DLL,每选中一个DLL,鄙人面的窗格中就会列出利用该 DLL 的所有历程。

  而 ProcessSpy 例子法式的功能正好取 DllSpy 相反,它正在上面窗格列出系统中所有的运转历程,每选中一个历程,鄙人面窗格便显示出此历程利用的所有 DLLs,如图四所示:

  下面窗格还反映了 DLL 加载的地址是现实地址仍是首选地址,以及它们的隶属性是静态的仍是动态的。这些东西的源代码和可施行法式都能够从本文的下载链接中下载,它们也许不完全满脚你的需要,但能够做为手艺参考,对编程工做必定是有所裨益的。

乐虎游戏官网【官网】PT影虎是世界上最大的网络游戏 ,乐虎国际官方版 提供电子游戏线上,在线影虎、乐虎游戏官网官网投注是玩家最喜爱的PT游戏
分享给小伙伴们:
本文标签: dll之家

相关文章

评论

发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。

签名: 验证码: 点击我更换图片

评论列表

    Copyright © 2015-2017 乐虎游戏官网 版权所有 网站地图