From OpenSCADAWiki
Jump to: navigation, search

Если файл дампа памяти "core" сформировался, а отчёт про аварийное завершение автоматически не генерируется, то вероятно не установлен отладчик gdb. В таком случае Вы должны его установить и вызвать:

  • сервисную процедуру менеджера проектов OpenSCADA:
openscada-proj proc {ProjName}
  • или команду прямого вызова отладчика, из рабочей папки проекта:
gdb openscada --core core --batch --quiet -ex "thread apply all bt full" -ex "quit" > {ProjName}_core_$(date +%F_%H:%M).crash
  • или прямую процедуру отладчика в интерактивном режиме, через вызов gdb без аргументов:
# Переход в рабочий каталог проекта OpenSCADA
(gdb) cd /var/spool/openscada/{ProjName}
(gdb) cd ~/.openscada/{ProjName}
# Указание исполняемого файла
(gdb) file /usr/bin/openscada
# Указание файла дампа памяти программы
(gdb) core-file ./core.26658
# Получение разворота стека исполнения — отчёта об аварийном завершении
(gdb) thread apply all bt full
#0  0xb7d104c0 in pthread_cancel () from /lib/librt.so.1
#1  0xb7d1edaa in start_thread () from /lib/libpthread.so.0
#2  0xb7dfcf5e in clone () from /lib/libc.so.6