Для каждого таргета CLion генерирует конфигурацию (для проектов CMake, Makefile и Gradle), которую можно собрать и запустить, а также позволяет настроить внешние инструменты, которые можно запустить до или после фазы сборки в отдельном диалоговом окне.
Используйте шаблоны для создания конфигураций модульного тестирования, удаленной отладки и запуска приложений.
Вы можете поменять исполняемый файл для любой конфигурации или даже запретить выполнение, выбрав значение Not selected.
Для сборки проекта нажмите Ctrl+F9 и запустите выбранную конфигурацию с помощью Shift+F10.
Для отладки нажмите Shift+F9.
Для изучения кода во время отладки в CLion есть много полезных сочетаний клавиш, таких как Step over/into (F8/F7), Step out (Shift+F8) и Run to cursor (Alt+F9).
Функция Custom Build Targets позволяет добавлять таргеты, не зависящие от системы сборки, и задавать параметры внешних инструментов, которые будут использоваться при сборке и очистке проекта.
Для запуска и отладки независимых таргетов из CLion создайте соответствующую конфигурацию с помощью шаблона Custom Build Application (Run | Edit Configurations).
Чтобы ускорить циклы разработки для проектных моделей CMake и compilation database, используйте действие Recompile (Shift+Ctrl+F9). IDE пересоберет один файл, не вызывая пересборку всего проекта.
При работе с CMake переключайтесь между профайлами CMake, используя переключатель конфигурации запуска на панели инструментов или во всплывающем окне Run (Shift+Alt+F10)/Debug (Shift+Alt+F9).
CLion использует PTY в качестве устройства ввода/вывода, а это значит, даже в Windows вы можете ожидать поведение, подобное выполнению вашего проекта в терминале.
CLion интегрируется с GDB на всех платформах и с LLDB на macOS и Linux.
CLion позволяет отлаживать процессы, выполняемые на том же или на удаленном компьютере, но не запущенные из IDE, путем подключения к ним с использованием идентификатора или имени процесса. При этом вы пользуетесь встроенным в CLion интерфейсом отладки.
Встроенный отладчик поможет досконально разобраться в коде. В CLion доступны несколько типов точек останова. Все точки останова можно просмотреть в специальном диалоговом окне (для вызова нажмите Ctrl+Shift+F8).
Используйте новое действие Set Execution Point to Cursor, чтобы перемещать точку исполнения по коду в любом направлении прямо во время сеанса отладки, прерывать циклы и перезапускать их, выбирать другую ветвь в условном операторе if-else
или выражении switch-case
и даже полностью пропускать циклы. Нужно всего лишь перетащить стрелку на интересующую вас строку.
Описание всех доступных переменных, включая содержимое STL-контейнеров, вы найдете на вкладке Variables в окне Debug. Там вы сможете просмотреть или даже изменить любое значение, не прерывая текущий сеанс отладки:
Со вкладки GDB/LLDB вы можете перейти к GDB/LLDB-консоли, а с помощью панелей Frames и Watches подробно исследовать любую проблему. При выборе символа, значение которого необходимо отследить, работает автодополнение.
Кроме того, вы можете вычислить любое выражение во время сеанса отладки, просто нажав Alt+F8.
С помощью этой функции вы можете просматривать текущие значения переменных прямо в редакторе (рядом с объявлением переменной). Нет необходимости переключаться на вкладку Variables в окне Debug.
В редакторе работает подсветка синтаксиса кода на ассемблере, по коду можно походить, чтобы лучше понять, чем вызвана проблема.
Теперь при пошаговой отладке ассемблерного кода можно добавлять или удалять точки останова на строках инструкций. Чтобы изменить конфигурацию этих точек останова с указанием адресов, заданную по умолчанию, воспользуйтесь контекстным меню.
Поддерживается как в случае GDB, так и LLDB.
В CLion можно посмотреть память по указателю в режиме отладки. Для вызова Memory View достаточно выбрать указатель в панели Variables во время отладки и нажать Ctrl+Enter.
Если вкладка Memory View открыта при пошаговой отладке, в ней можно видеть подсвеченные изменения в памяти.
Из Memory View можно перейти к определенному адресу в памяти. Введите шестнадцатеричное значение, представляющее адрес, переменную-указатель, или вызовите адрес (&
) любой интересующей вас переменной.
Для известных символов работает автодополнение.
CLion может запускать и отлаживать ваше приложение с привилегиями администратора — просто выберите эту опцию в соответствующей конфигурации запуска/отладки. Это поддерживается для приложений CMake, Makefile, Gradle Native, Custom Build и CTest.
Действие Run | Open Core Dump… позволяет открыть дамп памяти упавшего процесса в CLion и отладить его. Можно анализировать информацию о фреймах, изучать значения переменных, просматривать состояние памяти и код на ассемблере, вычислять выражения и запускать команды из консоли отладчика.
При отладке многопоточных приложений приходится одновременно отслеживать несколько потоков. Представление Parallel Stacks — это отдельная вкладка в окне отладчика, где отображается информация из стека вызовов всех потоков. Это позволяет проверить пути вызова и точки выполнения для всех запущенных потоков.
Библиотечных символов, которые вы используете при отладке, может не оказаться на вашей локальной машине. Если вы пользуетесь Windows, альтернативой локальному хранению символов отладки может стать сервер символов. Настроить такой сервер можно в разделе Settings | Build, Execution, Deployment | Debugger | Symbol Servers.