OpenSCADAWiki: Home Page Uk/Doc/ Crash Report ...

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 
This is an old revision of HomePageUk/Doc/CrashReport from 2018-02-15 11:01:02..
English (1 Kb) English
Russian (1 Kb) Ðîññèéñêèé?
 (2 Kb) Ñòîð³íêó çàìîðîæåíî, àêòóàëüíà òóò.

Ïîñ³áíèê ïî ëîêàë³çàö³¿ çáî¿â òà ïðèãîòóâàííÿ çâ³ò³â ïðî íèõ

Âñòóï

Íàëàãîäæåííþ òà òåñòóâàííþ ñèñòåìè OpenSCADA ïðèä³ëÿºòüñÿ çíà÷íèé ÷àñ ðîçðîáíèê³â, îäíàê ó çâ'ÿçêó ³ç îáìåæåí³ñòþ ðåñóðñ³â òà é ïðàêòè÷íîþ íåìîæëèâ³ñòþ îõîïèòè âñ³ âàð³àíòè êîíô³ãóðàö³¿ òà âèêîíàííÿ ñèñòåìè OpenSCADA ïîìèëêè ìîæóòü ïðîÿâëÿòèñÿ ÿê ó âèãëÿä³ íåâèêîíàííÿ îêðåìèõ ôóíêö³é, íåêîðåêòíîñò³ ¿õ âèêîíàííÿ òà íàâ³òü àâàð³éíîãî çàâåðøåííÿ ïðîãðàìè ó êîðèñòóâà÷³â. Ðîçóì³ííÿ öüîãî ç áîêó êîðèñòóâà÷à äóæå âàæëèâå, òà ç éîãî áîêó ïîòðåáóºòüñÿ äîáðà âîëÿ äëÿ ïðèä³ëåííÿ äåÿêîãî ÷àñó íà ïðèãîòóâàííÿ çâ³òó ïðî ïðîáëåìó ç ìåòîþ ¿¿ íàñòóïíîãî óñóíåííÿ ðîçðîáíèêàìè.


Ïåðåä ïðèãîòóâàííÿì ïîâ³äîìëåííÿ ïðî ïðîáëåìó ðåêîìåíäóºòüñÿ îçíàéîìèòèñÿ ç ïåðåë³êîì ïîìèëîê òà çàóâàæåíü ó â³äïîâ³äíîìó ðîçä³ë³ Ïîìèëêè òà çàóâàæåííÿ äî ñèñòåìè OpenSCADA.

Âèìîãè äî ïîâ³äîìëåííÿ ïðî ïîìèëêó

Äëÿ âèêëþ÷åííÿ çàéâèõ íàâ³äíèõ ïèòàíü òà äëÿ ïðèñêîðåííÿ ïðîöåñó ëîêàë³çàö³¿ ïðîáëåìè ðåêîìåíäóºòüñÿ ñë³äóâàòè íàñòóïíèì âèìîãàì äî ïîâ³äîìëåííÿ.

Ñïîñîáè ïîâ³äîìëåííÿ

Ïîâ³äîìèòè ïðî ïîìèëêó ó ñèñòåì³ OpenSCADA ìîæíà äåê³ëüêîìà ñïîñîáàìè:

Îòðèìàííÿ ôàéëó ïåðåäñìåðòíîãî äàìïó òà éîãî îáðîáêà

Ó ÎÑ Linux, ï³ä ÷àñ çáîþ ïðîãðàì, ÿäðî ÎÑ ìîæå ôîðìóâàòè ïåðåäñìåðòíèé äàìï ïàì'ÿò³ ïðîãðàìè. Çà äîïîìîãîþ öüîãî äàìïó ÷àñòî ìîæíà âèÿâèòè ì³ñöå ó ïðîãðàì³, ÿêå âèêëèêàëî àâàð³éíó çóïèíêó. Äëÿ âêëþ÷åííÿ ìîæëèâîñò³ ãåíåðàö³¿ ïåðåäñìåðòíîãî äàìïó ïàì'ÿò³ ïðîãðàìè ÿäðîì ïîòð³áíî âèêîíàòè êîìàíäè:

# Ïåðåâ³ðêà ìîæëèâîñò³ ãåíåðàö³¿ äàìï³â ïàì'ÿò³
# Ïîâåðòຠ"core", ÿêùî âêëþ÷åíà
$ cat /proc/sys/kernel/core_pattern
# Âêëþ÷åííÿ ãåíåðàö³¿ äàìï³â ïàì'ÿò³
$ echo "core" > /proc/sys/kernel/core_pattern


ϳñëÿ öüîãî ïîòð³áíî çíÿòè îáìåæåííÿ íà ðîçì³ð ãåíåðîâàíîãî ôàéëó äàìïó, äëÿ ÷îãî OpenSCADA ìîæíà çàïóñòèòè ç àðãóìåíòîì --CoreDumpAllow àáî âèêîíàòè ñïåö³àëüíó êîìàíäó ïåðåä âèêëèêîì OpenSCADA "$ ulimit -c unlimited".


Ïîò³ì äîñòàòíüî ïåðåêîíàòèñÿ ó òîìó, ùî êîðèñòóâà÷, ÿêèé çàïóñêຠOpenSCADA, ìຠïðàâî çàïèñó äî ðîáî÷î¿ äèðåêòî𳿠OpenSCADA, ïàðàìåòð "Workdir" ó êîíô³ãóðàö³éíîìó ôàéë³ ïðîãðàìè.


Äàë³ çàïóñêàºòüñÿ ñèñòåìà OpenSCADA òà â³äòâîðþºòüñÿ àâàð³éíå çàâåðøåííÿ, ó ðåçóëüòàò³ ÿêîãî ó ðîáî÷³é äèðåêòî𳿠OpenSCADA ñòâîðþºòüñÿ ôàéë core.


Òèïîâ³ ñêðèïòè çàïóñêó OpenSCADA, ÿê³ ïîñòà÷àþòüñÿ ó ïàêåòàõ äèñòðèáóòèâ³â OpenSCADA ç âåðñ³¿ 0.8.0, âêëþ÷àþòü ãåíåðàö³þ äàìïó ïàì'ÿò³ òà àâòîìàòè÷íî ôîðìóþòü ç íüîãî çâ³ò çâîðîòí³õ âèêëèê³â (backtrace) ó âèãëÿä³ ôàéë³â "AGLKS_core_2016-03-20_18.17.crash" (äëÿ 0.9 Work) àáî "crash_2012-01-05_11:05.txt" (äëÿ 0.8 LTS) ó ðîáî÷³é äèðåêòî𳿠ïðîåêòó.


ßêùî ñôîðìóâàâñÿ ôàéë äàìïó ïàì'ÿò³ core, à çâ³ò çâîðîòí³õ âèêëèê³â àâòîìàòè÷íî íå ñôîðìóâàâñÿ, òî éìîâ³ðíî íå âñòàíîâëåíî íàëàøòîâóâà÷à "gdb". Ó òàêîìó âèïàäêó Âè ìàºòå éîãî âñòàíîâèòè òà âèêëèêàòè âðó÷íó êîìàíäó, ³ç ðîáî÷î¿ äèðåêòî𳿠äëÿ ãëîáàëüíî¿ êîíô³ãóðàö³¿:

$ gdb openscada --core core --batch --quiet -ex "thread apply all bt full" -ex "quit" > crash_$(date +%F_%H:%M).txt

Àáî-æ âèêîíàòè ïðîöåäóðó ó ³íòåðàêòèâíîìó ðåæèì³, äëÿ ãëîáàëüíî¿ êîíô³ãóðàö³¿:

# Ïåðåõ³ä äî ðîáî÷î¿ äèðåêòî𳿠OpenSCADA
(gdb) cd /var/spool/openscada
# Âêàçàííÿ âèêîíóâàëüíîãî ôàéëó, íå ñêðèïòè!
(gdb) file /usr/bin/openscada
# Âêàçàííÿ ôàéëó äàìïó ïàì'ÿò³ ïðîãðàìè
(gdb) core-file /var/spool/openscada/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


 
There are no files on this page.[Display files/form]
There is no comment on this page. [Display comments/form]