Запуск проекта через диалоговую систему.
Для того, чтобы запускать определенные фазы анализа через диалоговую систему (которую можно скачать по данной ссылке), необходимо собрать SAPFOR в отладочном режиме, например, в Debug. Далее, скопировать SAPFOR_F в папку <Visualizer/Components> и запустить диалоговую систему и не применять обновления компоненты 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 и можно будет остановиться в точке останова отлаживаемого прохода (если данный проход будет запущен).