Studio linux: Support – Ubuntu Studio
Содержание
Как запустить PVS-Studio в Linux и macOS
10 Дек 2019
10 Дек 2019
- Введение
- Установка и обновление PVS-Studio
- Информация о файле лицензии
- Запуск анализа
- JSON Compilation Database
- Трассировка компиляции (только для Linux)
- Запуск анализа проекта
- Если вы используете кросс-компиляторы
- Response-файлы
- Режим инкрементального анализа
- Режим анализа списков файлов
- Интеграция PVS-Studio в сборочные системы и IDE
- Примеры интеграции в CMake, QMake, Makefile и WAF
- Как выглядит интеграция с CLion, QtCreator и Eclipse CDT
- Параметры препроцессора
- Конфигурационный файл *.cfg
- Интеграция PVS-Studio с системами Continuous Integration
- Просмотр и фильтрация отчёта анализатора
- Утилита Plog Converter
- Просмотр отчёта анализатора в QtCreator
- Просмотр Html отчёта в браузере или почтовом клиенте
- Просмотр отчёта анализатора в Vim/gVim
- Просмотр отчёта анализатора в GNU Emacs
- Просмотр отчёта анализатора в LibreOffice Calc
- Файл конфигурации
- Добавление своих форматов вывода
- Рассылка результатов анализа (утилита blame-notifier)
- Массовое подавление сообщений анализатора
- Прямая интеграция анализатора в сборочную систему
- Описание распространённых проблем и их решение
- Заключение
Введение
Статический анализатор С/C++ кода PVS-Studio представляет собой консольное приложение с именем pvs-studio и несколько вспомогательных утилит. Для работы программы необходимо иметь настроенное окружение для сборки вашего проекта.
Для проверки каждого файла с кодом выполняется новый запуск анализатора. Результаты проверки множества исходных файлов могут дописываться в один отчёт анализатора, либо выводиться в stdout.
Существуют три основных режима работы анализатора:
- Интеграция вызова pvs-studio в сборочную систему;
- Интеграция анализатора с помощью модулей для CMake/QMake;
- Анализ проекта без интеграции с помощью утилиты pvs-studio-analyzer.
Установка и обновление PVS-Studio
Примеры команд для установки анализатора из пакетов и репозиториев приведены на этих страницах:
- Установка и обновление PVS-Studio в Linux
- Установка и обновление PVS-Studio в macOS
Информация о файле лицензии
Вы можете запросить лицензию для знакомства с PVS-Studio через форму обратной связи. О том, как ввести полученную лицензию в Linux и macOS, написано здесь.
Запуск анализа
Перед запуском анализа необходимо выполнить один из следующих шагов для получения модели сборки проекта.
Важно. Проект должен успешно компилироваться и быть собран перед анализом.
JSON Compilation Database
На этой странице приведены инструкции для запуска анализа на основе файлов compile_commands.json. Он подходит для широко используемых инструментов сборки, таких как: CMake, Ninja, GNU Make, Qt Build System, Xcode.
Трассировка компиляции (только для Linux)
Для работы этого метода необходима установленная утилита strace. С её помощью анализатор может собрать необходимую информацию о компиляции проекта во время его сборки.
Собрать проект и отследить процесс его компиляции можно с помощью команды:
pvs-studio-analyzer trace -- make
Вместо команды make может быть любая команда запуска сборки проекта со всеми необходимыми параметрами, например:
pvs-studio-analyzer trace -- make debug
В результате трассировки по умолчанию будет сформирован файл strace_out. Подробнее о режиме трассировки можно узнать здесь.
Запуск анализа проекта
После сборки проекта и получения его модели необходимо выполнить команды:
pvs-studio-analyzer analyze -o /path/to/PVS-Studio.log \ -e /path/to/exclude-path \ -j<N> plog-converter -a GA:1,2 \ -t json \ -o /path/to/Analysis_Report.json \ /path/to/PVS-Studio.log
Команда analyze предполагает наличие файлов strace_out или compile_commands.json в текущем рабочем каталоге. Можно указать явно расположение этих файлов при помощи флага —file (-f).
Предупреждения анализатора будут сохранены в указанный Analysis_Report.json файл. Разные способы просмотра и фильтрации полученного отчёта приведены в разделе этого документа «Просмотр и фильтрация отчёта анализатора».
Если вы используете кросс-компиляторы
В таком случае компиляторы могут иметь специальные имена и анализатор не сможет их найти. Для проверки такого проекта необходимо явно перечислить имена компиляторов без путей:
pvs-studio-analyzer analyze ... --compiler COMPILER_NAME --compiler gcc --compiler g++ --compiler COMPILER_NAME plog-converter ...
Также при использовании кросс-компиляторов изменится каталог с заголовочными файлами компилятора. Чтобы анализатор не выдавал предупреждения на эти файлы, необходимо исключить такие директории из анализа с помощью флага -e:
pvs-studio-analyzer ... -e /path/to/exclude-path ...
Если pvs-studio-analyzer неправильно определяет тип кросс-компилятора и, как следствие, неправильно запускает препроцессор, вы также можете задать его явно через этот флаг:
pvs-studio-analyzer analyze … —compiler CustomCompiler=gcc
Теперь pvs-studio-analyzer запустит CustomCompiler с флагами препроцессирования gcc. Подробнее об этом можно прочитать тут.
При интеграции анализатора в сборочную систему проблем с кросс-компиляторами не возникает.
Response-файлы
Вы можете передавать response-файлы в pvs-studio-analyzer. Response-файл – это файл, содержащий аргументы командной строки.
Response-файл можно передать через параметр командной строки, который начинается на символ ‘@’. После этого символа следует путь до response-файла (например, ‘@/путь/до/файла.txt’). Аргументы в response-файле разделены пробелами/табуляцией/переносами строк. Если вы хотите передать аргумент, который содержит пробельный символ, то вы можете экранировать этот символ с помощью обратного слэша (\) или обернуть весь аргумент в одинарные (») или двойные («») кавычки. Кавычки внутри кавычек экранировать нельзя. Разницы между одинарными и двойными кавычками нет. Обратите внимание, что аргументы передаются без изменений, подстановок значений переменных среды и раскрытия glob’ов не происходит. Рекурсивные response-файлы поддерживаются.
Режим инкрементального анализа
Для утилиты pvs-studio-analyzer доступен режим инкрементального анализа (анализ только изменённых файлов). Для этого необходимо запустить утилиту с параметром —incremental:
pvs-studio-analyzer analyze ... --incremental ...
Этот режим работает независимо от инкрементальной сборки проекта. Т.е. если Ваш проект полностью скомпилирован, то первый запуск инкрементального анализа всё равно будет анализировать все файлы. А при следующем запуске будут анализироваться только изменённые.
Для отслеживания изменённых файлов, анализатор сохраняет служебную информацию в каталоге с именем .PVS-Studio в директории запуска. Поэтому для использования этого режима необходимо всегда запускать анализатор в одной и той же директории.
Режим анализа списков файлов
Утилита pvs-studio-analyzer позволяет анализировать списки указанных файлов проекта. С помощью этого режима можно настроить анализатор для проверки коммитов и Pull Requests. Для анализа необходимо запустить утилиту с параметром —source-files или -S и указать путь к файлу со списком исходных файлов для анализа:
pvs-studio-analyzer analyze ... -S source_file_list ...
Более подробно изучить анализ списков файлов можно на странице «Проверка коммитов и Pull Requests».
Интеграция PVS-Studio в сборочные системы и IDE
Примеры интеграции в CMake, QMake, Makefile и WAF
Тестовые проекты доступны в официальном репозитории PVS-Studio на GitHub:
- pvs-studio-cmake-examples, сам CMake модуль в GitHub репозитории
- pvs-studio-qmake-examples
- pvs-studio-makefile-examples
- pvs-studio-waf-examples
- pvs-studio-eclipse-examples
Как выглядит интеграция с CLion, QtCreator и Eclipse CDT
На рисунке 1 представлен пример просмотра предупреждений анализатора в CLion (подробнее здесь):
Рисунок 1 — Просмотр предупреждений PVS-Studio в CLion
На рисунке 2 представлен пример просмотра предупреждений анализатора в QtCreator:
Рисунок 2 — Просмотр предупреждений PVS-Studio в QtCreator
Инструкция по проверке CMake проектов в среде Qt Creator находится на странице «Использование PVS-Studio в среде Qt Creator».
На рисунке 3 представлен пример просмотра предупреждений анализатора в Eclipse CDT:
Рисунок 3 — Просмотр предупреждений PVS-Studio в Eclipse CDT
Параметры препроцессора
Анализатор проверяет не исходные файлы, а препроцессированные файлы. Такой способ позволяет проводить более глубокий и качественный анализ исходного кода.
В связи с этим, у нас есть ограничения на передаваемые параметры компиляции. К ним относятся параметры, мешающие запуску компилятора в режиме препроцессора, либо «портящие» вывод препроцессора. Ряд флажков оптимизации и отладки, например, -O2, -O3, -g3, -ggdb3 и другие, вносят изменения, «портящие» вывод препроцессора. Информация о недопустимых параметрах будет выведена анализатором при их обнаружении.
Этот факт ни в коем случае не обязывает вносить изменения в настройки проверяемого проекта, но для правильного запуска анализатора часть параметров необходимо исключить.
Конфигурационный файл *.
cfg
При интеграции анализатора в сборочную систему ему необходимо передать файл с настройками (*.cfg). Имя конфигурационного файла может быть произвольным, и его необходимо передать с флагом «—cfg».
Возможные значения настроек в конфигурационном файле:
- exclude-path (опционально) задаёт директорию, файлы из которой проверять не надо. Обычно это каталоги системных файлов или подключаемых библиотек. Параметров exclude-path может быть несколько.
- platform (обязателен) задаёт используемую платформу. Возможные варианты: linux32 или linux64.
- preprocessor (обязателен) задаёт используемый препроцессор. Возможные варианты: gcc, clang, keil.
- language (обязателен) задаёт язык проверяемого файла, который анализатор ожидает найти при его разборе. Возможные значения: C, C++. Поскольку каждый из поддерживаемых языковых диалектов содержит специфичные ключевые слова, неправильное указание данного параметра может привести к ошибкам разбора кода V001.
- lic-file (опционально) содержит абсолютный путь до файла с лицензией.
- analysis-mode (опционально) задаёт тип выдаваемых предупреждений. Рекомендуется использовать значение «4» (General Analysis, подходит подавляющему большинству пользователей).
- output-file (опционально) задаёт полный путь к файлу, в который будет записываться отчёт работы анализатора. При отсутствии этого параметра в конфигурационном файле все сообщения о найденных ошибках будут выводиться в консоль.
- sourcetree-root (опционально) по умолчанию, при генерации диагностических сообщений, PVS-Studio выдаёт абсолютные, полные пути до файлов, в которых анализатор нашёл ошибки. С помощью данной настройки можно задать корневую часть пути, которую анализатор будет автоматически подменять на специальный маркер. Например, абсолютный путь до файла /home/project/main.cpp будет заменён на относительный путь |?|/main.cpp, если /home/project был указан в качестве корня.
- source-file (обязателен) содержит абсолютный путь до проверяемого исходного файла.
- i-file (обязателен) содержит абсолютный путь до препроцессированного файла.
- no-noise (опционально) отключает выдачу сообщений низкого уровня достоверности (3-ий уровень). При работе на больших проектах анализатор может выдать большое число предупреждений. Используйте эту настройку, если вы не можете исправить все сообщения анализатора сразу, и вам нужно сконцентрироваться на правке наиболее важных срабатываний в первую очередь.
Важное примечание:
Не обязательно создавать новый конфигурационный файл для проверки каждого файла. В него достаточно сохранить постоянные настройки, например, lic-file и т.п.
Интеграция PVS-Studio с системами Continuous Integration
Любой из перечисленных способов интеграции анализатора в сборочную систему можно автоматизировать в системе Continuous Integration. Это можно сделать в Jenkins, TeamCity и других, настроив автоматический запуск анализа и уведомление о найденных ошибках.
Также возможна интеграция с платформой непрерывного анализа SonarQube с помощью плагина PVS-Studio. Плагин предоставляется с анализатором в .tgz архиве, доступном для загрузки. Инструкция по настройке доступна на странице: «Интеграция результатов анализа PVS-Studio в SonarQube».
Просмотр и фильтрация отчёта анализатора
Утилита Plog Converter
Для конвертации отчёта анализатора о найденных ошибках в различные форматы (*.xml, *.tasks и т.п.) можно воспользоваться утилитой Plog Converter, которая распространяется с открытым исходным кодом. Подробнее об утилите можно прочесть тут.
Просмотр отчёта анализатора в QtCreator
Пример команды, которая подойдёт большинству пользователей для открытия отчёта в QtCreator:
plog-converter -a GA:1,2 -t tasklist -o /path/to/project.tasks /path/to/project.log
На рисунке 4 представлен пример просмотра .tasks файла в QtCreator:
Рисунок 4 — Просмотр .tasks файла в QtCreator
Просмотр Html отчёта в браузере или почтовом клиенте
Конвертер отчётов анализатора позволяет генерировать Html отчёт двух видов:
1. FullHtml — полноценный отчёт для просмотра результатов анализа. Есть возможность поиска и сортировки сообщений по типу, файлу, уровню, коду и тексту предупреждения. Особенностью этого отчёта является возможность навигации к месту ошибки в файле с исходным кодом. Сами файлы с исходным кодом, на которых были предупреждения анализатора, копируются в html и являются частью отчёта. Примеры отчёта приведены на рисунках 5-6.
Рисунок 5 — Пример главной страницы Html отчёта
Рисунок 6 — Просмотр предупреждения в коде
Пример команды для получения такого отчёта:
plog-converter -a GA:1,2 -t fullhtml /path/to/project.log -o /path/to/report_dir
Такой отчёт удобно рассылать в архиве или предоставлять к нему доступ по локальной сети с помощью любого веб-сервера, например, Lighttpd и т.п.
2. Html — легковесный отчёт, состоящий из одного файла в формате .html. Содержит краткую информацию о найденных предупреждениях и подходит для уведомления о результатах по электронной почте. Пример отчёта приведен на рисунке 7.
Рисунок 7 — Пример простой Html страницы
Пример команды для получения такого отчёта:
plog-converter -a GA:1,2 -t html /path/to/project.log -o /path/to/project.html
Просмотр отчёта анализатора в Vim/gVim
Пример команд для открытия отчёта в редакторе gVim:
$ plog-converter -a GA:1,2 -t errorfile -o /path/to/project.err /path/to/project.log $ gvim /path/to/project.err :set makeprg=cat\ % :silent make :cw
На рисунке 8 представлен пример просмотра .err файла в gVim:
Рисунок 8 — Просмотр .err файла в gVim
Просмотр отчёта анализатора в GNU Emacs
Пример команд для открытия отчёта в редакторе Emacs:
plog-converter -a GA:1,2 -t errorfile -o /path/to/project.err /path/to/project.log emacs M-x compile cat /path/to/project.err 2>&1
На рисунке 9 представлен пример просмотра .err файла в Emacs:
Рисунок 9 — Просмотр .err файла в Emacs
Просмотр отчёта анализатора в LibreOffice Calc
Пример команд для конвертации отчёта в CSV формат
plog-converter -a GA:1,2 -t csv -o /path/to/project.csv /path/to/project.log
После открытия файла project.csv в LibreOffice Calc необходимо добавить автофильтр: Menu Bar —> Data —> AutoFilter. На рисунке 10 представлен пример просмотра .csv файла в LibreOffice Calc:
Рисунок 10 — Просмотр .csv файла в LibreOffice Calc
Файл конфигурации
Более объёмные настройки можно сохранить в файл конфигурации со следующими опциями:
- enabled-analyzers — опция, аналогичная опции -a в параметрах консольной строки.
- sourcetree-root — строка, задающая путь к корню исходных файлов проверяемого проекта. Если указана неправильно, дальнейшая работа с результатом работы утилиты будет затруднена.
- errors-off — глобально выключенные номера предупреждений, перечисленные через пробел.
- exclude-path — файлы, путь к которым содержит одно из значений этой опции, не будут проанализированы.
- disabled-keywords — ключевые слова. Сообщения, указывающие на строки, содержащие эти ключевые слова, будут исключены из обработки.
Имя опции отделяется от значений символом ‘=’. Каждая опция указывается на отдельной строке. Комментарии пишутся на отдельных строках, перед комментарием ставится символ #.
Добавление своих форматов вывода
Для добавления своего формата вывода следует выполнить следующие действия:
Создать свой класс вывода, сделав его наследником от класса IOutput, и переопределить виртуальный метод void write(const AnalyzerMessage& msg). В этом методе описать вывод сообщения в нужном формате. Поля структуры AnalyzerMessage указаны в файле analyzermessage.h. Сделать по аналогии с уже существующими классами вывода (например, XMLOutput).
В OutputFactory::OutputFactory в m_outputs добавить свой формат по аналогии с уже указанными там. Как вариант, добавить его через метод OutputFactory::registerOutput.
После этих действий формат будет доступен как значение опции -t утилиты.
Рассылка результатов анализа (утилита blame-notifier)
Утилита blame-notifier предназначена для автоматизации процесса оповещения разработчиков, заложивших в репозиторий код, на который анализатор PVS-Studio выдал предупреждения. Отчет анализатора подается на вход blame-notifier с указанием дополнительных параметров; утилита находит файлы, в которых были обнаружены предупреждения и формирует HTML-отчет на каждого «виновного» разработчика. Также возможен вариант рассылки полного отчета: внутри него будут содержаться все предупреждения, относящиеся к каждому «виновному» разработчику.
Способы установки и использования утилиты описаны в соответствующем разделе документации: «Оповещение команд разработчиков (утилита blame-notifier)».
Массовое подавление сообщений анализатора
Массовое подавление предупреждений позволяет легко внедрить анализатор в любой проект и сразу начать получать выгоду от этого, т.е. находить новые ошибки. Этот механизм позволяет запланировать исправление пропущенных предупреждений в будущем, не отвлекая разработчиков от выполнения текущих задач.
Есть несколько способов использования этого механизма, в зависимости от варианта интеграции анализатора. О том, как использовать механизм подавления в pvs-studio-analyzer можно узнать тут.
Прямая интеграция анализатора в сборочную систему
Прямая интеграция анализатора может выглядеть следующим образом:
.cpp.o: $(CXX) $(CFLAGS) $(DFLAGS) $(INCLUDES) $< -o $@ $(CXX) $(CFLAGS) $< $(DFLAGS) $(INCLUDES) -E -o [email protected] pvs-studio --cfg $(PVS_CFG) --source-file $< --i-file [email protected] --output-file [email protected]
В этом режиме анализатор не может одновременно проверять исходные файлы и фильтровать их. Поэтому для фильтрации и подавления предупреждений потребуются дополнительные команды.
Для подавления всех предупреждений анализатора также необходимо выполнять команду:
pvs-studio-analyzer suppress /path/to/report.log
Для фильтрации нового лога необходимо воспользоваться следующими командами:
pvs-studio-analyzer filter-suppressed /path/to/report.log plog-converter ...
Файл с подавленными предупреждениями также имеет имя по умолчанию suppress_file.suppress.json, для которого при необходимости можно задать произвольное имя.
Описание распространённых проблем и их решение
1. Утилита strace выдаёт сообщение вида:
strace: invalid option -- 'y'
Вам необходимо обновить версию программы strace. Анализ проекта без интеграции в сборочную систему — сложная задача, а с этой опцией анализатору удаётся получить важную информацию о компиляции проекта.
2. Утилита strace выдаёт сообщение вида:
strace: umovestr: short read (512 < 2049) @0x7ffe...: Bad address
Такие ошибки возникают в системных процессах и на сборку/анализ проекта не влияют.
3. Утилита pvs-studio-analyzer выдаёт сообщение вида:
No compilation units found
Анализатору не удалось обнаружить файлы для анализа. Возможно, вы используете кросс-компиляторы для сборки проекта. Смотрите раздел «Если вы используете кросс-компиляторы» в этой документации.
4. Отчёт анализатора состоит из подобных строк:
r-vUVbw<6y|D3 h32y|D3xJGy|D3pzp(=a'(ah9f(ah9fJ}*wJ}*}x(->'2h_u(ah
Анализатор сохраняет отчёт в промежуточном формате. Для просмотра отчёта его необходимо преобразовать в читабельный формат с помощью утилиты plog-converter, которая устанавливается вместе с анализатором.
5. Анализатор выдаёт ошибку:
Incorrect parameter syntax: The ... parameter does not support multiple instances.
При вызове анализатора какой-то из параметров задали несколько раз.
Такое может возникнуть, если часть параметров анализатора определили в конфигурационном файле, а часть передали через параметры командной строки. При этом случайно определив какой-нибудь параметр несколько раз.
При использовании утилиты pvs-studio-analyzer почти все параметры определяются автоматически, поэтому она может работать без конфигурационного файла. Дублирование таких параметров тоже может приводить к такой ошибке.
6. Анализатор выдаёт предупреждение:
V001 A code fragment from 'path/to/file' cannot be analyzed.
Если анализатору не удаётся понять какой-нибудь фрагмент кода, то он его пропускает и выдаёт предупреждение V001. На анализ других фрагментов кода такая ситуация обычно не влияет, но если такой код находится в заголовочном файле, то таких предупреждений может быть очень много. Для поддержки проблемной конструкции пришлите нам препроцессированный файл (.i) для проблемного файла с исходным кодом.
Заключение
Если у вас возникли вопросы или проблемы с запуском анализатора, то напишите нам.
Была ли полезна эта страница документации?
Установка R и R-studio на Linux
- Главная
- Обо мне
Статьи
В данном примере мы рассмотрим установку языка R и R-studio IDE на Ubuntu 16.04
Выбор виртуальной машины
В качестве облачного сервиса, предоставляющего услуги по хостингу виртуальных машин мы выберем Google Cloud Platform с сервисом Compute Engine. Это очень удобное решение для тех, кто уже работает с другими сервисами от GCP.
Ранее я уже писал о том, как настроить и запустить VM на Google Cloud Platform через сервис Compute Engine. А сейчас перейдём к следующему шагу
Подготовка к установке
Для установки языка R в операционную систему Linux нам необходимо открыть терминал и вводить команды напрямую. Чтобы открыть терминал необходимо нажать на кнопку SSH.
Терминал откроется в новом окне. После открытия терминала начинаем последовательно вводить команды
Первичное обновление Linux
Необходимо обновить все пакеты, установленные в версии Ubuntu 16.04
sudo apt-get update
Выглядит это примерно так
Добавление ссылки на репозиторий Cran
Установка будет производиться напрямую из репозитория Cran, поэтому необходимо добавить ссылку в файл /etc/apt/sources.list. Редактировать файл будем при помощи текстового редактора nano
sudo nano /etc/apt/sources.list
Откроется содержимое файла. Спускаемся в самый низ и добавляем строчку
deb https://cran.rstudio.com/bin/linux/ubuntu xenial/
После этого нажимаем сочетание клавиш Ctrl+X для сохранения изменений. Нам предложат сохранить изменения — жмём Y
В последнем окне жмём Enter сохранения изменений в тот же файл.
Добавление публичного ключа
Ключ используется для удостоверения подлинности и надежности репозитория. И добавляется с помощью следующей команды:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 51716619E084DAB9
которая запрашивает ключ напрямую у сервера сертификации Ubuntu — keyserver.ubuntu.com
После чего обновляем кеш всех доступных пакетов
sudo apt update
Установка R и R-Studio
Установка R
Теперь можем установить необходимый нам пакет R с помощью команды:
sudo apt-get install r-base -y
Установка R-Studio
Помимо установки R, для удобства работы, нам нужно установить R Studio. И первым делом для этого нужно скачать установочный файл. Делаем это с помощью команды wget
wget https://download2.rstudio.org/rstudio-server-1.0.136-amd64.deb
Теперь, для того, чтобы провести установку R Studio, устанавливаем еще один пакет — gdebi. Gdebi — программа для установки .deb пакетов.
sudo apt-get install gdebi-core -y
И последней командой устанавливаем R Studio со скачанного файла:
sudo gdebi rstudio-server-1.0.136-amd64.deb
Теперь необходимо указать порт, при обращении к которому вы будете получать доступ в R Studio. Для этого нужно внести информацию в файл /etc/rstudio/rserver.conf. Делаем это с помощью команды
sudo nano /etc/rstudio/rserver.conf
и добавляем в файл следующую строку:
www-port=80
После этого задаем пароль для доступа в R Studio командой:
sudo passwd user_name
где, вместо user_name используем имя пользователя. При вводе пароля вам будет казаться, что ничего не происходит, но на самом деле введенные символы запоминаются. После второго успешного ввода вы увидите примерно следующее:
Осталось перезапустить серверный R-Studio и можно приступать к работе.
sudo service rstudio-server restart
Запуск R-Studio
Чтобы попасть в привычный интерфейс R-Studio нужно перейти по внешнему адресу, указанному в интерфейсе Compute Engine в колонке External_IP
При переходе вы скорее всего увидете ошибку:
Это происходит потому, что подключаемся мы по протоколу HTTPS через порт 443, а наш R-server работает через протокол HTTP через порт 8080.
Удалите букву s в URL
https://22.222.222.22/ -> http://22.222.222.22/
И перед вами будет привычный интерфейс R-Studio с окошком для ввода логина и пароля.
Вводим логин/пароль и пользуемся R-Studio в облаке
Установщик Ubuntu Studio — Ubuntu Studio
Установщик Ubuntu Studio может добавить преимущества Ubuntu Studio к любой установке Ubuntu или ее официальных разновидностей *, чтобы вы могли использовать любую среду рабочего стола, которую вы предпочитаете, и предоставляет вам тщательно подобранный набор пакетов для подходит для вашего рабочего процесса, будь вы художником-графиком, звукоинженером, музыкантом, издателем, фотографом или продюсером видео.
Установка
Чтобы получить установщик Ubuntu Studio, вы должны сначала установить Ubuntu или официальную версию. Как только вы это сделаете, просто откройте окно терминала и введите:
sudo apt install ubuntustudio-installer
В версиях, предшествующих Ubuntu 22.10, будут доступны другие инструменты, такие как Studio Controls , необходимые для подготовки конфигурации звука, которая выполняется после запуска установщика Ubuntu Studio.
Использование установщика Ubuntu Studio (до Ubuntu 23.04)
Для использования просто щелкните значок установщика Ubuntu Studio или найдите его в панели запуска/панели управления.
Когда он откроется, вы увидите такое окно:
Просто щелкните нужные пакеты в левом поле (описания этих пакетов находятся в правом поле).
Если вы хотите добавить Ubuntu Studio Backports PPA , чтобы получать последние версии определенных пакетов по мере их появления, нажмите «Добавить Backports PPA».
Если у вас уже есть Backports PPA и вы хотите его удалить, нажмите «Удалить Backports PPA». Примечание. Это не приведет к удалению каких-либо пакетов, установленных из PPA, или к более ранней версии этих пакетов, если они установлены.
После того, как вы сделали свой выбор, нажмите «Установить». Если будет предложено выйти из системы и войти в систему после завершения установки, сделайте это. Это просто добавляет вашему пользователю разрешения на воспроизведение звука в реальном времени, если у вас их еще нет. Если вам не нужны разрешения на звук в реальном времени, это не повлияет на ваш рабочий процесс.
Использование установщика Ubuntu Studio (Ubuntu 23.04 и более поздние версии)
Для использования просто щелкните значок установщика Ubuntu Studio или найдите его в панели запуска/панели управления.
Когда он откроется, вы увидите окно, подобное этому:
Просто установите или снимите флажки для компонентов, которые вы хотите добавить или удалить. Обратите внимание, что
ubuntustudio-pulseaudio-config
и ubuntustudio-pipewire-config
нельзя установить одновременно, необходимо выбрать одно или другое. Для настройки профессионального или профессионального звука мы рекомендуем ubuntusstudio-pulseaudio-config
, поскольку PipeWire еще не готов для профессионального или профессионального звука. Дополнительную информацию см. в разделе Переключение настройки звука.
Если вы хотите добавить Ubuntu Studio Backports PPA , чтобы получать последние версии определенных пакетов по мере их появления, отметьте PPA-ubuntustudio-backports
.
Если у вас уже есть PPA Backports и вы хотите его удалить, снимите флажок PPA-ubuntustudio-backports
. Примечание. Это удалит/понизит все пакеты, установленные из PPA, до пакетов из основных/вселенных/мультивселенных репозиториев Ubuntu.
После того, как вы сделали свой выбор, нажмите «Изменить выбор установленного пакета». Если будет предложено выйти из системы и войти в систему после завершения установки, сделайте это. Это просто добавляет вашему пользователю разрешения на воспроизведение звука в реальном времени, если у вас их еще нет. Если вам не нужны разрешения на звук в реальном времени, это не повлияет на ваш рабочий процесс.
Мауро Гаспари создал на FrontPageLinux.com отличный учебник по типичному рабочему процессу со звуком, используя этот метод.
Вот и все! Вы готовы творить. Мы сделали всю тяжелую работу, поэтому вам не нужно.
*Примечание: неофициальные производные Ubuntu (те, которые НЕ указаны в качестве официальных разновидностей) не поддерживаются, равно как и Ubuntu Server.
Разработка хост-приложений SEGGER
Перейти к основному содержанию
-  
Вакансии
- Видео
- Блог
- Устойчивость
Linux Studio делает функции отмеченной наградами интегрированной среды разработки SEGGER доступными для всех разработчиков приложений для Linux. Благодаря пользовательскому интерфейсу в стиле Visual Studio, мощному управлению проектами и встроенному отладчику на уровне исходного кода разработка собственных хост-приложений в Linux становится простой и удобной.
Любой разработчик, использовавший Embedded Studio для разработки встроенного ПО, оценит Linux Studio как идеальное решение. Благодаря единому интерфейсу и среде для всех проектов Embedded Studio и Linux Studio повышают производительность.
Аналогичным образом, Linux Studio повышает эффективность работы всех разработчиков, делая все инструменты и ресурсы даже для самых крупных проектов доступными в одном приложении.
- Элегантный пользовательский интерфейс в стиле Visual Studio
- Мощное управление проектами
- Полноценный интегрированный отладчик на уровне исходного кода всех ресурсов проекта. Файловые структуры могут быть автоматически извлечены из файловой системы, или исходные файлы могут быть свободно сгруппированы в виртуальные папки для лучшего обзора.
Многопроектные решения могут хранить вместе все части приложения, такие как исполняемый файл, дополнительные библиотеки и ресурсы. С зависимостями проекта все связанные части могут быть созданы, если и когда исходный код изменится.
Этапы до и после сборки, а также дополнительные типы проектов для подготовки дополняют управление проектом. Linux Studio сопровождает успешные проекты от первого файла до окончательной поставки.
Редактор исходного кода Linux Studio обладает хорошо известными функциями, такими как подсветка синтаксиса и простая навигация по всем источникам проекта. Другие функции, такие как завершение кода, предложения и шаблоны, также помогают повысить эффективность разработки.
Система сборки Linux Studio упрощает использование собственного инструментария хост-системы. Включить пути, определения препроцессора и дополнительные параметры командной строки можно легко установить и выбрать в диалоговых окнах конфигурации. Параметры сборки можно переопределить или расширить для каждого отдельного файла или группы файлов.
Благодаря гибкости конфигураций сборки Linux Studio проект может быть не только создан в конфигурации отладки и версии, но и позволяет определять конфигурации для любой цели сборки, например, для разных вариантов одного приложения, всего несколькими щелчками мыши.
Linux Studio — полнофункциональная IDE, включающая встроенный отладчик исходного кода. Проекты можно отлаживать в той же среде, в которой они разрабатываются. Во время отладки редактор исходного кода позволяет устанавливать точки останова в строках исходного кода приложения, выполнять пошаговое выполнение исходного кода и быстро проверять значения символов. Дополнительные специальные окна отладки предоставляют всю необходимую информацию и информацию о системе.
В сеансе отладки Linux Studio разрешает полный контроль над целевым приложением. При запуске отладки приложение после запуска переходит к точке входа, обычно main(). Оттуда его можно просто продолжить или пройти построчно. Редактор исходного кода всегда подсвечивает, где приложение в данный момент остановлено.
Точки останова исходного кода позволяют останавливаться при выполнении заданной строки. Ручное управление позволяет прервать выполнение в любой момент.
Для обычных терминальных приложений нет необходимости открывать внешнее окно и переключаться между ними во время отладки. Linux Studio включает окно терминала отладки, которое отображает вывод на стандартный вывод и вывод ошибок непосредственно в среде IDE.
В окне «Потоки» отображается список всех потоков или задач, созданных целевым приложением. Он предоставляет информацию о текущем состоянии каждого потока и о том, где он выполняется в данный момент. Выбрав поток, можно дополнительно проанализировать его стек вызовов и состояние.
В окне стека вызовов отображается текущий путь выполнения, т. е. вызывающие функции, обычно до точки входа. Он также может предоставлять информацию о параметрах функции и ее значениях.
Linux Studio имеет различные окна для проверки и изменения состояния переменных и выражений.
В окне Globals отображаются все глобальные переменные, а в окне Locals отображаются все локальные переменные контекста. В окне Auto отображаются все переменные, относящиеся к текущей активной исходной строке или блоку. Переменные и выражения также можно выбрать вручную для проверки в окне Watches. В дополнение к окнам символов, всплывающие подсказки при наведении курсора мыши и быстрый просмотр позволяют быстро просмотреть символы из редактора исходного кода.
Получение информации о текущем состоянии оборудования особенно ценно при разработке встраиваемых систем, но иногда может быть полезно и при разработке хост-приложений. Linux Studio предоставляет окна регистров, в которых отображаются значения регистров ЦП, а также окна памяти, которые позволяют просматривать содержимое образа памяти приложения.
Получение реальных инструкций, которые выполняются, также является более сложной низкоуровневой функцией. Linux Studio включает окно дизассемблирования, которое синхронизируется с исходным кодом и выделяет текущую инструкцию, на которой приложение остановлено.
Как и в редакторе, функции управления запуском также доступны на уровне дизассемблирования.
Linux Studio включает в себя все утилиты самой IDE и использует собственный набор инструментов gcc системы. После установки Linux Studio готова к работе, и можно создать новый проект, чтобы начать разработку.
Графический установщик помогает выполнить установку.
Загрузите и распакуйте установку в папку на диске.
$ cd ~/Загрузки $ wget https://www.segger.com/downloads/linux-studio/setup_linuxstudio_x64.tar.gz $ tar -xzvf setup_linuxstudio_x64.tar.gz
Перейдите в извлеченную папку и выполните установку
$ cd segger_linux_studio_
_x64 $ sudo ./install_segger_studio Установите набор инструментов gcc и убедитесь, что он успешно установлен
$ sudo apt install build-essential $ gcc --version
При первом запуске Linux Studio создает знаменитый проект «Hello World», готовый к запуску, чтобы обеспечить быстрый старт.
Окно Project Explorer слева является центральной частью для настройки и управления проектами. Корневой узел — это решение, в котором может быть организован один или несколько проектов. Под каждым проектом его исходные файлы и дополнительные элементы организованы в папки. В Linux Studio используются динамические папки, которые автоматически включают все файлы в заданном каталоге файловой системы, а также виртуальные папки, в которые можно добавлять любые файлы независимо от их организации на диске.
Для «Hello World» Linux Studio создала решение «Hello» с основным проектом приложения «Hello». Он включает в себя виртуальную папку «Исходные файлы» и единственный исходный файл приложения: main.c.
Проект можно построить, выбрав Build → Build Hello или нажав [F7].
Linux Studio вызывает компилятор и компоновщик исходных текстов проекта и создает выходной файл приложения.
После завершения сборки приложение можно выполнить или запустить в отладчике. Чтобы начать новый сеанс отладки, выберите Отладка → Перейти или [F5].
Linux Studio запускает приложение в отладчике и позволяет ему работать с точкой входа приложения, main(), которая выделяется как активная строка в редакторе исходного кода.
Точки останова могут быть установлены в исходном коде на любой строке, в которой был создан код, обозначенный синими стрелками слева. Щелчок по ним или [F9] переключает точки останова.
Выполнение приложения можно продолжить с помощью команды Отладка → Перейти [F5] или перейти с помощью команды Отладка → Перешагнуть [F10]. При переходе через printf() Терминал отображает вывод «Hello World».
После завершения работы над проектом Hello World можно создать новое решение с новым проектом через Файл → Новый проект…
Выберите, чтобы создать проект в новом решении. Выберите «Исполняемый файл Linux» в качестве шаблона проекта, введите имя и местоположение проекта и завершите работу мастера проекта.
Linux Studio доступен как Программный инструмент SEGGER по Дружественной лицензии SEGGER для некоммерческого использования и по лицензии SEGGER для коммерческого использования.