1. 首页 > 快讯

思维调试:理解 DDE 的初始化过程-51CTO.COM

老铁们,大家好,相信还有很多朋友对于思维调试:理解 DDE 的初始化过程-51CTO.COM和的相关问题不太懂,没关系,今天就由我来为大家分享分享思维调试:理解 DDE 的初始化过程-51CTO.COM以及的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!

最近有人问我以下问题。我们仍然可以用我之前提到的“思维调试”来研究它。

我们遇到了技术问题。当双击在资源管理器中打开文档时,资源管理器不会启动我们的应用程序。

更奇怪的是,如果我们在资源管理器进程上hook一个调试器,并在kernel32模块的CreateProcessW处设置断点,然后等待CreateProcess返回并在调试器中继续执行,就可以正常打开文档了。但是,如果我们不进行任何等待,应用程序会正常打开,但不会加载文档,在这种情况下,我们会收到此错误消息:Windows 找不到“abc.lit”。请确保您输入了正确的文档名称,然后重试。

以下是我们使用的命令行:“F:\Program Files\LitSoft\LitWare\LitWare.exe”/dde有什么问题?

如果你仔细研究过关于DDE初始化如何工作的文章,那么我想你应该已经知道为什么了。

回想一下,通过DDE 打开文档是通过首先查找DDE 服务器来完成的,如果找不到,则手动启动服务器并重试。上面的命令行显然已注册为与ddeexec 关联的命令。

我们有两条线索:第一条是命令行上不存在文档名称本身。 (这不能是直接执行,因为程序不知道它应该打开哪个文档!但线索是命令行上的短语/dde。

显然,当资源管理器尝试在第二个DDE 会话中打开文档时出现问题。让资源管理器等待几秒钟就可以解决问题,这一事实使原因显而易见:DDE 服务器初始化和侦听自身的速度很慢。资源管理器启动服务器并尝试与其通信,但服务器尚未准备好,因此不响应DDE 启动。

如何解决这个问题呢?

shell 假定DDE 服务器已准备好在输入空闲时接受连接。一旦WaitForInputIdle 在DDE 服务器上返回,资源管理器将第二次尝试启动DDE 会话。该修复会导致应用程序在开始处理消息之前启动并运行其DDE 服务器。

我的猜测是,应用程序将其DDE 服务器移至后台线程以提高启动性能,因为DDE 服务器不参与正常的程序操作。

但太糟糕了,当/dde 标志被传递时,程序忘记在进入空闲状态之前启动并运行DDE 服务器。让DDE 服务器运行很重要,但它错过了正确的时机。

总结

如果您正在实现DDE 服务器,请确保在主线程开始处理消息之前启动它。否则,应用程序启动和它尝试与之通信的shell 之间会出现竞争条件。

其实思维调试:理解 DDE 的初始化过程-51CTO.COM的问题并不复杂,但是又很多的朋友都不太了解,因此呢,今天小编就来为大家分享思维调试:理解 DDE 的初始化过程-51CTO.COM的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

用户评论

残留の笑颜

学习了好多DDE的概念,这篇博客帮我看清了初始的过程,谢谢作者!

    有14位网友表示赞同!

信仰

一直对DDE的机制很感兴趣,这篇文章解释的很清楚,让我终于明白了是如何进行初始化的。

    有9位网友表示赞同!

你tm的滚

看标题就想了解一下这个思想调试,希望可以通俗易懂地介绍。

    有11位网友表示赞同!

不相忘

想做一些与DDE相关的开发,这篇博客看起来挺不错的选择。也许能解决些我遇到的问题。

    有14位网友表示赞同!

我的黑色迷你裙

感觉DDE这种技术很有潜力,希望能深入学习它的初始化过程,这篇文章或许是个好起点。

    有16位网友表示赞同!

窒息

最近在接触DDE,这个博文正好能帮我捋顺思路,谢谢分享!

    有13位网友表示赞同!

岁岁年年

对于初学者来说,对DDE的初始化流程可能很陌生,这篇博客就能帮助我们理解了。

    有14位网友表示赞同!

昂贵的背影

51CTO的文章质量一直还不错,这篇文章估计也会值得一看。

    有7位网友表示赞同!

有一种中毒叫上瘾成咆哮i

Dde初始化过程确实有点复杂,看懂这篇文章真是不容易!

    有17位网友表示赞同!

雁過藍天

希望能通过这篇文章详细了解DDE的运作机制,包括它的初始化流程。

    有7位网友表示赞同!

素衣青丝

学习新的技术总是需要时间和耐心,这篇博客或许能帮助我快速理解DDE。

    有20位网友表示赞同!

景忧丶枫涩帘淞幕雨

对于想要深入了解DDE的朋友来说,这篇文章绝对不容错过!

    有19位网友表示赞同!

浅笑√倾城

分享一下,最近我在学习DDE,这篇博客的标题很吸引人。我觉得很有用!

    有5位网友表示赞同!

爱你的小笨蛋

感谢作者发布这篇文章,相信能帮助很多学习DDE的人士。

    有18位网友表示赞同!

一别经年

我一直对计算机技术感兴趣,现在开始关注DDE,期待这篇博文能给我一些启发!

    有8位网友表示赞同!

烟雨萌萌

想了解一下DDE的具体实现细节,这篇文章看起来是一个不错的起点。

    有18位网友表示赞同!

红尘滚滚

希望这篇文章能够用清晰易懂的语言解释DDE的初始化过程 。

    有13位网友表示赞同!

旧爱剩女

学习Dde 需要积累经验和知识,或许这篇博客能给我一些新的思路!

    有12位网友表示赞同!

致命伤

对技术的探索永无止境!这次阅读可能会拓展我对DDE的理解。

    有15位网友表示赞同!

本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.iotsj.com//kuaixun/6103.html

联系我们

在线咨询:点击这里给我发消息

微信号:666666