gdb не может отладить 32-битную программу для Linux

gdb не может отладить 32-битную программу для Linux

Как это решить? Когда я использовал gdb для отладки 32-битной программы, появилось это предупреждение. И из-за этого программа не могла работать.

Когда я использовал gdb для отладки 32-битной программы, появилось это предупреждение. И из-за этого программа не могла работать. Это информация о конфигурации gdb

Это информация о конфигурации gdb

решение1

Если вы хотите отладить 32-битное приложение на 64-битной Ubuntu. Попробуйте.

sudo apt-get install gdb-multiarch

решение2

Я столкнулся с той же проблемой. После тестирования с различными настройками и машинами я пришел к выводу, что версия gdb (8.1) Ubuntu 18.04 содержит ошибки. Более поздние версии 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, который установит gdb для 32-битного приложения. Однако,это удалит gdb для 64 бит, чего вы, возможно, не захотите делать.

Я понятия не имею, в чем заключается основная проблема и есть ли быстрый способ ее исправить.

Связанный контент