首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有办法在运行时不停顿地动态更新二进制文件(可执行文件)?

有没有办法在运行时不停顿地动态更新二进制文件(可执行文件)?
EN

Stack Overflow用户
提问于 2014-02-22 01:36:35
回答 1查看 224关注 0票数 4

考虑到我们在1年前用C++制作了一个程序,它正在连续地工作,没有任何停止!

在一年前,我们不知道有一天我们应该更新它(由于修复了一些bug)。所以我们没有在它上面实现任何DSU (动态软件更新)指令。此外,它不能在虚拟机中运行,这也让我无法访问它的内存或上下文。

现在,如何在不停止和停止的情况下在其中进行更新(添加或删除一些函数、数据类型或指令)。

有什么建议吗?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-02-22 01:43:18

您必须将调试器附加到它。在不会破坏任何东西的执行点停止它,替换可执行映像,重新对齐指令指针,如果您选择了一个坏的中断点,您还必须重新对齐堆栈并修改可能受新代码影响/添加的变量。

这比你想要的麻烦多了。

如果您的修改是本地的,那么您可能会更好地使用代码洞穴作为这个特定运行实例的临时解决方案。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21941317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档