Подтвердить что ты не робот

Ошибка GDB: выбранная архитектура i386 несовместима с сообщенной целевой архитектурой i386: x86-64

Кто-нибудь знает, что означает эта ошибка?

введите описание изображения здесь

Я работаю с Netbeans 8.0, gdb 7.8.1 на Linux Machine. Все было хорошо до двух дней назад, и я вдруг начал получать эту ошибку, когда я начинаю отладку, и я не знаю, что это значит.
До сих пор я пытаюсь очистить и reset все, о чем я мог подумать: переустановить netbeans, очистить все локальные файлы, снова сбросить код, отключить все точки останова и т.д. И т.д.
Может ли кто-нибудь помочь мне понять, что означает эта ошибка? Я никогда не устанавливал эти точки останова, где Netbeans их берут?

Спасибо заранее,
Рейчел

EDIT

Итак, теперь у меня есть немного больше деталей: Когда я пытаюсь отлаживать приложение напрямую с помощью GDB, без netbeans я получаю следующую ошибку:

Запуск программы:....
предупреждение: выбранная архитектура i386 несовместима с сообщенной целевой архитектурой i386: x86-64
предупреждение: Архитектура отклонила описание, предоставленное цели

Предупреждение:
Не удается вставить точку останова -1. Временное отключение точек останова разделяемой библиотеки: точка останова # -1 Не удается установить точку останова 1. Не удается получить доступ к памяти по адресу 0x8081527

как я могу понять, какой код\флаг в компиляции делает мое приложение i386? как я могу заставить его быть x86_64?

Еще раз спасибо.

4b9b3361

Ответ 1

ОК, установка gdb на моей машине была завинчена. Нет никаких шансов, чтобы кто-нибудь мог это себе представить. Я перешел на другую машину, и теперь все хорошо.

Ответ 2

Я думаю, вы обновили систему, и последняя версия glib не поддерживает 32-битные приложения.

Вы можете найти, какие файлы во всех каталогах bin и lib в вашей системе были изменены за последние 2 дня? Если он используется для его поддержки, но обновленная версия этого не делает, то приложение, которое (возможно, без вашего ведома), скомпилированное как 32-разрядное, не будет действительной целью для всех стандартных инструментов на ящике.

Вы указываете целевую архитектуру с помощью -m32 или -m64. Посмотрите, можете ли вы указать его явно, если вы компилируете и отлаживаете на разных машинах.