Ошибка gdb в Eclipse

Вот стек инструмента: Установленный в Windows 7 (x64) - это Eclipse (Juno x64) с CDT и SConsolidator плагин. Ниже находится TDM-GCC (x64) пакет, установленный с поддержкой 64-разрядных версий.

Если я создаю 64-битное приложение и отлаживаю его с помощью Eclipse (который использует gdb в комплекте с GCC), он строит без ошибок и отлично отлаживает.

Когда я создаю 32-битное приложение и пытаюсь отладить его с помощью Eclipse, он строит отлично, но gdb не работает:

gdb: unknown target exception 0x4000001f...

Отладка его с помощью того же gdb через командную строку отлично работает.

Любые идеи о том, как обойти это?

FYI: Вот некоторые предупреждения, приводящие к исключению gdb:

warning: `C:\Windows\system32\ntdll.dll': Shared library architecture i386:x86-64 is not compatible with target architecture i386.
warning: `C:\Windows\SYSTEM32\wow64.dll': Shared library architecture i386:x86-64 is not compatible with target architecture i386.
warning: `C:\Windows\SYSTEM32\wow64win.dll': Shared library architecture i386:x86-64 is not compatible with target architecture i386.
warning: `C:\Windows\SYSTEM32\wow64cpu.dll': Shared library architecture i386:x86-64 is not compatible with target architecture i386.
warning: Could not load shared library symbols for ntdll32.dll.
Do you need "set solib-search-path" or "set sysroot"?
warning: Could not load shared library symbols for WOW64_IMAGE_SECTION.
Do you need "set solib-search-path" or "set sysroot"?
warning: Could not load shared library symbols for WOW64_IMAGE_SECTION.
Do you need "set solib-search-path" or "set sysroot"?
warning: Could not load shared library symbols for NOT_AN_IMAGE.
Do you need "set solib-search-path" or "set sysroot"?
warning: Could not load shared library symbols for NOT_AN_IMAGE.
Do you need "set solib-search-path" or "set sysroot"?
1 ответ

У меня была аналогичная проблема в другом сценарии, но я думаю, что решение должно быть применимо и здесь.

Я был gdb.exe загружен из http://www.equation.com/servlet/equation.cmd?fa=gdb для отладки программы на С++. Сначала я попробовал 64-битную версию, потому что мой компьютер 64-битный, но я получил ту же ошибку, что и Павел. Затем я попробовал 32-разрядный файл gdb.exe и работал.

Я также следил за ссылками, которые дал Пол, и также был доступен пакет для 32-битного. Поэтому я предполагаю, что связки зависят от типа приложения, а не от конфигурации платформы. Но я сомневаюсь, что 64-битный пакет будет работать на 32-битной архитектуре. Я не пробовал это и не могу сказать точно.

Я предлагаю установить пакеты, поддерживающие 32-разрядные, для отладки 32-разрядного приложения.

licensed under cc by-sa 3.0 with attribution.