Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Jak hledat chyby v aplikaci

Během tvorby aplikace ale i při jejím běhu mohou nastat situace, kdy dojde k nějaké aplikační chybě. Tu je nutno zachytit, najít příčinu a opravit.
 

Hledání chyb ve skriptech

INFO systém:

Chyby jsou velmi často zjistitelné v INFO systému v položce /Errors/Script. U dané chyby je popis, číslo řádku a sloupce ve skriptu.

 
Psaní vlastních vět ("logování") do INFO systému:

Některé chyby ve skriptu však mohou být "záludnější". Například chyba nemusí být syntaktická ale sémantická, tzn. skript běží ale né tak jak by měl.

Pro zjištění příčiny lze použít metodu Pm.Debug (nebo metoda Pm.InfoLogAdd) a např. tzv. "půlení intervalu". To znamená, že někde v aplikaci ve vhodném mistě (nebo na více místech) ve skriptu umístíme tuto metodu (s ladící poznámkou v prvním parametru výrazu). Pak ve spuštěné aplikaci zajistíme vykonání skriptu a v INFO systému v položce Debug_info zjistíme, zda je zobrazena "ladicí poznámka". Tato informace nám napoví, zda je chyba ve skriptu před nebo za poznámkou.

 
Web obrazy:

Metoda Pm.Debug a metoda Pm.InfoLogAdd funguje i na Web klientovi a výpis lze prohlížet ve Web obraze po stisku klávesy Shift-Ctrl-Alt-mezerník (nebo po stisku klávesy F12 v záložce "Konzole").

 
Inicializační zápis do Pmg objektu:

Velmi často se objeví chyba skriptu v události onStart Pmg objektu, který v této události čte nebo zapisuje do jiného Pmg objektu v obraze. Příčinou této chyby je to, že tento jiný Pmg objekt v průběhu vykonání této události ještě není zinicializován. To je chyba v pořadí Pmg objektů v obraze a lze ji odstranit tím, že Pmg objekt (ve kterém je skript) umístíme v pořadí nad všechny ostatní (tzn. vybrat Pmg objekt, pravé tlačítko myši a v menu zvolit "Vybrané Pmg objekty / Přenést vybrané Pmg objekty v pořadí paměti / nad všechny objekty").

 

Dlouhodobé sledování chyb v aplikaci

Informace o chybách, které se zapisují do INFO systému jsou viditelné pouze ve spuštěné a zastavené aplikaci (v runtime módu a ve vývojovém prostředí). Při ukončení aplikace zaniknou a nelze je dohledat.
 
Ukládání chyb do LOG souboru:

Globální chyby se však mohou zapisovat i do souboru "Aplikace.ini". Tento zápis chyb lze nastavit v souboru "Aplikace.ini" v sekci [Log]. LOG soubor lze pak studovat i po několikanásobném ukončení a spuštění aplikace. Přednastaveno je logování jen první vzniklé chyby daného typu.

 
Vlastní logování chyb:

Lze použít také událost onAppError objektu PmaRoot například:

- ke tvorbě vlastního logovacího souboru chyb
- k zápisu chybové události do alarmů nebo eventů
- k vyvolání jiné akce (odeslání mailu, SMS, ...)

 

Restart aplikace

Mohou nastat situace, které se neprojeví při krátkodobém testování aplikace. Například:
- po restartu OS Windows je aplikace spuštěna dříve než služby Windows potřebné k běhu aplikace
- po nějakém časovém useku běhu aplikace dojdou volné prostředky OS Windows (Sledování běhu PROMOTIC aplikace paměť, GDI,...)
- neobnoví se spojení s komunikačním zařízením po výpadku sítě, atd.
 
Oddálit spuštění aplikace lze například:
- pomocí nástroje RunLater nebo
- v souboru Aplikace.ini v sekci Popis klíčů v sekci [Promotic] nastavit klíč RtStartDelay
 
K restartu aplikace nebo OS Windows po "zamrznutí" slouží bezpečnostní komponenta PmRtManager jako WatchDog.
Navigace:
 
 
- Hledání chyby v aplikaci
 
 
- SVG
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice