2013-12-04 2 views
1

Я пытаюсь отлаживать PostgreSQL в Eclipse/Netbeans/QtCreator на Mavericks (OS X 10.9).Разработка PostgreSQL на Mavericks (OS X 10.9)

Я пробовал различные компиляторы (GCC 4.2, CLang) в различных IDE, разных отладчиках (GDB, LLDB), но я не нашел конфигурацию, которая работает - особенно в том смысле, что я могу правильно отлаживать код ,

В настоящее время я пытаюсь использовать GCC 4.2 и GDB. Я установил GCC через homebrew, а также сертифицировал gdb. Я могу скомпилировать исходный код PostgreSQL и запустить его. Тем не менее, каждый раз, когда я пытаюсь присоединить отладчик к бегущих потоков, я всегда (независимо от IDE) следующее сообщение об ошибке:

Mach error at "darwin-at.c:726" in function "void darwin_resume_thread(struct inferior *, darwin_thread_t *, int, int)": (os/kern) failure (0x5). 

У вас есть какие-либо идеи, что это значит? Или у вас есть подсказка, как я могу заставить PostgreSQL компилировать, отлаживать и запускать на OS X 10.9?

ответ

1

Используйте компилятор и отладчик из XCode, а не один из Macports/Homebrew/whatever. Создайте с llvm и отлаживайте с помощью lldb.

Вам может понадобиться установить XCode 5 для этой работы на новом OS X.

Apple, как правило, довольно свободно нарушать интерфейсы ядра, и т.д., когда они обновляют ОСА, и редко документировать эти изменения для 3 сторон , Поэтому иногда требуется время для сторонних инструментов, чтобы догнать и работать с последней ОС X. В этом случае кажется разумным, что они перепутались с интерфейсами отладки, используемыми gdb.

Если у вас все еще есть проблемы при использовании инструментальной цепочки XCode 5, напишите об этом со спецификой. В текущем вопросе есть немного всего, поэтому трудно детализировать.

Учитывая, что это ошибка Маха (т. Е. Ядро жалуется), также возможно, что у вас есть сторонний драйвер или утилита, вызывающая проблемы с помощью hook. Проверьте, какие расширения ядра вы установили.

+0

O, радости закрытого открытого источника ... – wildplasser

+0

Большое спасибо, это был очень хороший намек и принес мне гораздо больше. Но все-таки у меня проблемы с отладкой. Я использую QT Creator, потому что это единственная среда IDE (экспериментально), поддерживающая LLVM и LLDB. Когда я пытаюсь подключиться к запущенному приложению, LLDB дает мне «ошибку: невозможно найти исполняемый файл для»/Applications/postgres: navige postgres 127.0.0.1 (50996) idle »и« EXCEPTION CAUGHT: объект «NoneType» не имеет атрибута "GetSelectedThread». Кажется, что он не может найти postgres, поскольку он проверяет его в/Приложениях, и я его там не нашел. Но как изменить этот путь? – navige

+0

@ navige Почему бы не использовать XCode? Вы находитесь на Mac, вы можете использовать инструменты Apple, а иногда и не получаете большого выбора. Это IDE. У этого есть отладчик. В любом случае, пожалуйста, напишите новый вопрос * для новой проблемы. –

Смежные вопросы