Я пытаюсь отлаживать программу С++ в Eclipse с помощью gdb. Я думаю, что он отлично работает в моей функции main()
, но в другом месте он дает мне предупреждение, когда я пытаюсь посмотреть на значение переменной:
Failed to execute MI command:
-data-evaluate-expression variable
Error message from debugger back end:
Could not find the frame base for "Class::method()".`
После очистки Интернета я с трудом понимаю, что означает эта ошибка или выясняет, как исправить проблему. Есть несколько других подобных вопросов (здесь и здесь), плавающих вокруг.
Так как инструменты командной строки Apple Xcode являются мучительно устаревшими (см. gcc и gdb) Мне нужно было использовать собственные версии для дома. Я не знаю, есть ли что-то в настройке для этих инструментов, которые я мог пропустить.
Я могу отлаживать из командной строки с помощью gdb, и я попадаю в ту же ошибку: "Could not find the frame base for "Class::method()"
, поэтому я уверен, что это не проблема с Eclipse.
Кто-нибудь может что-то выскочить, что может вызвать эту проблему?
- Mac OS X 10.8.5 (Горный лев)
- Eclipse 4.2.1 (Juno)
- gcc 4.8.2 (homebrewed) (с
-O0
и-g3
) - gdb 7.6.2 (зашифровано и закодировано)
Update:
Я также вижу строку:
BFD: /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork(i386:x86-64): unknown load command 0x20
Далее следуют несколько предупреждений:
warning: Could not open OSO archive file "/private/tmp/gcc48-KqoQ/gcc-4.8.2/build/x86_64-apple-darwin12.5.0/libstdc++-v3/src/../libsupc++/.libs/libsupc++convenience.a"
warning: Could not open OSO archive file "/private/tmp/gcc48-KqoQ/gcc-4.8.2/build/x86_64-apple-darwin12.5.0/libstdc++-v3/src/../src/c++11/.libs/libc++11convenience.a"
warning: Could not open OSO archive file "/private/tmp/gcc48-KqoQ/gcc-4.8.2/build/x86_64-apple-darwin12.5.0/libstdc++-v3/src/../src/c++98/.libs/libc++98convenience.a"
warning: `/private/tmp/gcc48-KqoQ/gcc-4.8.2/build/x86_64-apple-darwin12.5.0/libstdc++-v3/src/.libs/compatibility-atomic-c++0x.o': can't open to read symbols: No such file or directory.
warning: `/private/tmp/gcc48-KqoQ/gcc-4.8.2/build/x86_64-apple-darwin12.5.0/libstdc++-v3/src/.libs/compatibility-c++0x.o': can't open to read symbols: No such file or directory.
warning: `/private/tmp/gcc48-KqoQ/gcc-4.8.2/build/x86_64-apple-darwin12.5.0/libstdc++-v3/src/.libs/compatibility-chrono.o': can't open to read symbols: No such file or directory.
warning: `/private/tmp/gcc48-KqoQ/gcc-4.8.2/build/x86_64-apple-darwin12.5.0/libstdc++-v3/src/.libs/compatibility-debug_list-2.o': can't open to read symbols: No such file or directory.
...
который продолжается для нескольких строк. Google ищет команду "gdb bfd unknown load", которая показывает множество сайтов без какого-либо решения, но все они, похоже, указывают на то, что может быть конфликт между не-яблочными версиями gdb и Mac OS X 10.8 +.
Любое понимание поможет тонне!