gpt4 book ai didi

linux - 如何在 gdb 中运行时修改二进制文件

转载 作者:太空宇宙 更新时间:2023-11-04 10:20:51 26 4
gpt4 key购买 nike

编辑:实际问题出在更新二进制文件的方法上,而不是由于 gdb 问题。有关详细信息,请参阅下面的答案。

原始问题:

最近,当 gdb 正在运行程序并在断点处停止时,我无法再编译该程序。尝试再次写入二进制文件将导致“文本文件忙”错误。

这是在 Ubuntu 16.04 LTS 64 位、内核 4.4.0-75 上运行的。

我不认为我在寻找正确的东西,因为一些搜索“gdb 文本文件忙”或类似的搜索没有产生任何结果。 gdb 手册特别提到了这种行为(在运行 gdb 时再次编译)是受支持的,事实上我以前已经做过很多次了。

如有任何关于更改内容以及如何防止这种情况发生的指示,我们将不胜感激。

最佳答案

一些进一步的搜索表明这个优秀的帖子 https://unix.stackexchange.com/a/188041/10847这解释了更新二进制文件的方法在这里是相关的。在这种情况下,构建系统正在使用 cp a b 复制二进制文件,这将失败。 cp -f a b 将删除 b,然后用 a 覆盖,允许 gdb 在将新二进制文件写入磁盘时继续调试旧二进制文件。

关于linux - 如何在 gdb 中运行时修改二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43989927/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com