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