Я установил XCode 5.1 с Clang
Я установил gcc 4.8 через доморощенный
Установил gdb 7.7.1 через доморощенный
Использование OSX 10.9.3
Я компилирую свой исходный код c ++ в eclipse kepler с помощью Makefile, используя g ++ — 4.8, и пытаюсь отладить его, но при достижении точки останова я не вижу никаких переменных, как в этом вопросе: ГБД говорит "нет таблицы символов," но нм показывает, что файл имеет символы отладки
Я следовал советам @Tom Tromey в разделе предложений этого вопроса, чтобы использовать
set complaints 10000
в GDB, а затем загрузить файл. Это выявило много ошибок во время загрузки. Сначала я увидел много таких:
unhandled stab for dwarf OSO file...unhandled stab for dwarf OSO file...
тогда много таких:
During symbol reading, location expression too complex.
During symbol reading, Member function "~clone_impl" (offset 414143) is virtual but the vtable offset is not specified.
а потом еще много чего из этого:
During symbol reading, unexpected overlap between:
(A) section `__TEXT.__textcoal_nt' from `<snip>/sourcefilename.o' [0x228, 0x28c)
(B) section `__TEXT.__textcoal_nt' from `<snip>/differentsourcefilename.o' [0x268, 0x2cc).
Will ignore section B.
Есть много ошибок, когда один раздел игнорируется в пользу другого.
Раньше я думал, что виноват gdb, но сегодня я обнаружил, что если я использую llvm-g ++, тогда gdb работает как положено. Я был вне себя от радости, обнаружив, что на самом деле могу отлаживать без использования инструкций cout.
Еще один похожий вопрос: Как мне получить домашнюю версию GDB, работающую на Mac OS X?
Я хотел бы исправить проблему с g ++ — 4.8 и мне нужна помощь.
Большинство ответов, которые я нашел, относились к устаревшим версиям gdb, но 7.7.1 довольно недавний и должен работать на основе того, что другие предложили на SO.
Задача ещё не решена.