У меня OSX Yosemite 10.10.5, QtCreator 4.1.0, Qt 5.7.0 и Xcode 7.2.1.Отладка завершается с QtCreator на OSX
Если я пишу какую-либо собственную программу на C++ в QtCreator (console, gui - anything), я не могу отладить эту программу от QtCreator. Точки останова игнорируются, программа выполняется без паузы и работает до завершения независимо от того, что я пытаюсь сделать.
Я пробовал LLDb Xcode, систему GDB и Homebrew GDB в качестве отладчиков. версии GDB не запускаются. Домашняя версия GDB была кодирована.
Это все, что использовалось (несколько лет назад), просто прекрасно работает, и я не понимаю, что могло измениться.
Любопытно, что если я создаю исключение внутри программы - например, доступ через нулевой указатель, отладчик показывает мне, где это происходит так, как я ожидал бы, по-видимому, отладчик работает, но просто обрабатывает меня полным презрение.
Я знаю, что существует много вариантов этого вопроса, но ни один из них не подходит к проблеме адекватно или не предлагает работоспособных решений, или они применяются к гораздо более старым версиям продуктов.
Любые предложения?
Теперь я работаю с очень похожей конфигурацией, и это отлаживает, как шарм. Пожалуйста, разместите настройки сборки/компиляции/запуска проекта, а также настройки отладчика. Вы можете использовать скриншоты для этого. Я не могу вспомнить, сделал ли я что-нибудь особенное, чтобы включить конфигурацию. В OSX я использую собственный компилятор Apple из фреймворка. – AlexanderVX
Это может произойти, если вы действительно не компилируете с помощью отладочных символов или если пути к файлам в отладочной информации не соответствуют путям файлов, которые вы открыли в Qt Creator (это может произойти при компиляции в '/ tmp') , «Window> Views> Debugger Log» в режиме отладки может также пролить некоторый свет. Что касается GDB от Homebrew: Qt Creator требует поддержки скриптов python в отладчике, возможно, это не включено для версии Homebrew? – E4z9
@ E4z9: журнал отладки бесполезен. Нет очевидных сообщений об ошибках или предупреждений. Тем не менее, я заметил, что вызов setupInferior script содержит это: «breakonmain»: 0, который объясняет, почему программа просто выполняется немедленно. Я не вижу места, чтобы установить это поведение. –