diff --git a/2.-%D0%97%D0%B0%D0%BF%D1%83%D1%81%D0%BA-%D0%B8-%D0%BE%D1%82%D0%BB%D0%B0%D0%B4%D0%BA%D0%B0-%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0.md b/2.-%D0%97%D0%B0%D0%BF%D1%83%D1%81%D0%BA-%D0%B8-%D0%BE%D1%82%D0%BB%D0%B0%D0%B4%D0%BA%D0%B0-%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0.md index 8b7bd78..0b99fa3 100644 --- a/2.-%D0%97%D0%B0%D0%BF%D1%83%D1%81%D0%BA-%D0%B8-%D0%BE%D1%82%D0%BB%D0%B0%D0%B4%D0%BA%D0%B0-%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0.md +++ b/2.-%D0%97%D0%B0%D0%BF%D1%83%D1%81%D0%BA-%D0%B8-%D0%BE%D1%82%D0%BB%D0%B0%D0%B4%D0%BA%D0%B0-%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B0.md @@ -1 +1,19 @@ -Добро пожаловать в вики. \ No newline at end of file +### Запуск проекта через диалоговую систему. +Для того, чтобы запускать определенные фазы анализа через диалоговую систему (которую можно скачать по данной [ссылке](https://cloud.mail.ru/public/3rMc/aRqYCZ33N)), необходимо собрать **SAPFOR** в отладочном режиме, например, в Debug. Далее, скопировать SAPFOR_F в папку и запустить диалоговую систему и не применять обновления компоненты SAPFOR. По ссылке можно загрузить сервер для Windows и диалоговую оболочку. Для Unix сервер необходимо собрать из исходников в папке _src/Server/, например, командой (для сборки еще необходим boost) + +`g++ -O3 -std=c++17 checkUniq.cpp server.cpp -o Visualizer_2 -lpthread -lstdc++fs` + +Для запуска диалоговой системы потребуется установить JRE, если он отсутствует на целевой машине. Визуализатор состоит из сервера (Visualizer_2) и визуализационной оболочки (VisualSapfor.jar). Запускается всегда через Visualizer_2, а VisualSapfor.jar и Sapfor_F должны находиться в папке Components. + +### Запуск библиотеки SAPFOR через диалоговую систему (визуализатор). +Данная возможность позволяет запустить отладку **SAPFOR** прямо из визуализатора. В ряде случаев это может быть удобным. Для того, чтобы запускать SAPFOR через визуализатор, необходимо загрузить сам визуализатор по данной ссылке и поместить его в определенную папку для удобства работы, так как визуализатор создает свои служебные папки в этой же директории. + +Далее следует запустить визуализатор для того, чтобы обновить все его компоненты, в том числе и сам визуализатор (рекомендуется сделать это в самом начале). После того, как были обновлены и загружены все компоненты, будет создана папка Components, в которой и будет лежать SAPFOR (Sapfor_F). +Для того, чтобы уметь останавливаться в режиме отладки в своем коде SAPFOR, необходимо проделать следующие действия (инструкция приведена для Windows, для Unix действовать аналогично). + +- Переключить SAPFOR в режим **RelWithDebInfo**, а также отключить оптимизации для проекта SAPFOR во вкладке C/C++ -> Оптимизация-> Оптимизация (отключено /Od). Это позволит выполнять просмотр локальных переменных и корректный стек вызовов SAPFOR. +- Запустить визуализатор из консоли с опцией -spfDeb, далее визуализатор должен зависнуть в ожидании запуска SAPFOR. Затем следует запустить проект, указав в опциях запуска отладки -client PORT (Отладка -> аргументы командной строки), где PORT - соответствующий порт, сгенерированный визуализатором при старте. Если все нормально, то после запуска визуализатор продолжит свою работу и запустит диалоговую оболочку. + +После всего проделанного необходимо выполнить перекомпиляцию проекта. И если все сделано правильно, при запуске отладчика Visual Studio будет запущен визуализатор с SAPFOR и при выполнении каких-либо проходов, будет возможность остановки в проекте. Стоит отметить, что визуализатор периодически перезапускает систему SAPFOR, поэтому нужно повторно выполнять подключение / запуск в режиме отладки. + +Для того, чтобы остановиться в своем проходе, необходимо запустить какой-то анализ из визуалиазатора, предварительно загрузив туда проект. Краткая инструкция по работе в визуализаторе описана в разделе Справка. Например, запуск из вкладки Анализ "Построить распределение" эквивалентно проходу -t 12, а из вкладки Преобразование "Генерация параллельного варианта" соответствует проходу -t 13. Данные проходы вызывают практически все основные проходы в тот или иной момент времени. В результате запуска анализа или преобразования из визуализатора, выполнение перейдет в библиотеку SAPFOR и можно будет остановиться в точке останова отлаживаемого прохода (если данный проход будет запущен).