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,您可能不想這樣做。

我不知道根本問題是什麼,也不知道是否有快速的方法來解決它。

相關內容