<< Click to Display Table of Contents >> Navigation: Работа в режиме исполнения > Отладка проекта > Как получить диагностическую информацию среды исполнения > Получение расширенной диагностической информации RT на Linux |
Дампы исполнительной системы могут быть сформированы автоматически и вручную.
Дамп формируется автоматически, когда происходит сбой в работе исполнительной системы.
Названия дампов формируются в зависимости от имени процесса исполнительной системы, выполняемом в потоке ОС.
Например, если исполнительная система даёт сбой при выполнении задачи пользователя, формируется дамп U0.core:
Путь формирования дампов по умолчанию:
•Для версий 1.3.5 и ниже: /opt/mplc4/log
•Для версий 1.3.6 и выше: /var/log/mplc4/dumps
Сформированные дампы необходимо направить в HelpDesk систему технической поддержки для анализа.
Для ручного формирования дампа нужно выполнить несколько действий.
1) Используя команду ps | grep mplc , определить pid для процесса mplc.
Если вывод пустой, можно использовать команду ps -e | grep mplc:
Если запущено несколько экземпляров исполнительной системы, как в данном примере, то для того чтобы определить pid нужного экземпляра, следует использовать команду ps -axu | grep mplc. В выводе командной строки будет информация о пути лог-файла, соответствующего работе узла, загруженного в экземпляр N:
2) Выполнить команду gcore [pid] ([pid] получен на шаге 1). В результате дамп должен появиться в текущей папке. Если такой команды нет, нужно установить пакет gdb (установка описана ниже).
3) Если нет возможности установить пакет gdb, для формирования дампа можно использовать команду sudo killall -s SIGBUS mplc.
Если запущено несколько экземпляров исполнительной системы, то для формирования дампа следует указать pid нужного экземпляра: sudo kill -s SIGBUS [pid].
При этом процесс mplc будет перезапущен, а в папке /opt/mplc4/log появиться дамп mplc.core:
На ALT Linux такой способ формирования дампа может не сработать, или дамп будет сформирован в другой папке, например в корневой.
Начиная с версии MasterSCADA 4D RT 1.3.6, основной процесс исполнительной системы называется Main. Поэтому во всех командах, упомянутых выше, процесс mplc заменяется на Main:
При формировании дампа процесс Main перезапускается, и появляется файл Main.core по пути:
•/var/log/mplc4/dumps - если версия 1.3.6 среды исполнения MasterSCADA 4D была установлена с нуля:
•/opt/mplc4/log - если среда исполнения MasterSCADA 4D была обновлена на версию 1.3.6 с более старой версии:
Сформированные дампы необходимо направить в HelpDesk систему технической поддержки для анализа.
Установить пакет gdb на компьютер с ОС Linux можно двумя способами.
Можно установить gdb в дистрибутив Linux на основе Debian, выполнив следующие команды:
$ sudo apt-get update
$ sudo apt-get install gdb
Для компиляции gdb с нуля и его установки нужно выполнить указанные ниже шаги:
1) Загрузить исходный код. Можно загрузить исходный код всех выпусков с http://ftp.gnu.org/gnu/gdb/, используя команду: $ wget "http://ftp.gnu.org/gnu/gdb/gdb-7.11.tar.gz".
2) Извлечь код: $ tar -xvzf gdb-7.11.tar.gz.
3) Настроить и скомпилировать код, используя следующие команды:
$ cd gdb-7.11
gdb-7.11$ ./configure
gdb-7.11$ make
После завершения двоичный файл gdb будет расположен по пути gdb-7.11/gdb/gdb.
4) Установить gdb, с использованием команды $ make install. По умолчанию двоичные файлы gdb будут установлены в /usr/local/bin, а библиотеки - в /usr/local /lib.
Смотрите также: