gdb无法调试linux的32位程序

gdb无法调试linux的32位程序

怎么解决?当我使用 gdb 调试 32 位程序时,出现此警告。这导致程序无法运行。

当我使用 gdb 调试 32 位程序时,出现此警告。这导致程序无法运行。 这是关于gdb的配置信息

这是关于gdb的配置信息

答案1

如果你想在 64 位 Ubuntu 上调试 32 位应用程序。尝试一下。

sudo apt-get install gdb-multiarch

答案2

我遇到了同样的问题。在对各种设置和机器进行测试后,我得出结论,Ubuntu 18.04 附带的 gdb 版本 (8.1) 存在错误。较新版本的 gdb 似乎运行良好(即:您不会看到这些奇怪的警告 + gdb 在调试 32 位程序时不会挂起)。

我尝试过在 Ubuntu 19.04 上安装 gdb 8.2,它开箱即用。我还尝试编译最新版本(撰写本文时为 8.3.1),它运行良好(即使在 Ubuntu 18.04 上也是如此)。

我的建议是获取最新版本的 gdb(撰写本文时为 8.3.1)并自行编译。您可以在此处获取源代码包:https://mirrors.kernel.org/sourceware/gdb/releases/

另一个(非常)不太理想的解决方案似乎有效:您可以安装软件包gdb:i386,它将为 32 位应用程序安装 gdb。但是,它将卸载 64 位的 gdb,您可能不想这样做。

我不知道潜在的问题是什么,以及是否有快速的方法来解决它。

相关内容