答案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,您可能不想这样做。
我不知道潜在的问题是什么,以及是否有快速的方法来解决它。