Promotic

Jak wyszukiwać błędy w aplikacji PROMOTIC

Podczas wytwarzania aplikacji lecz także podczas jej biegu mogą wystąpić sytuacje, kiedy dojdzie do jakiegoś błędu aplikacji. Taki błąd trzeba wychwycić, odszukać przyczynę i skorygować.

Wyszukiwanie błędów w skryptach

INFO system:
Błędy można zazwyczaj stwierdzić w INFO systemie pod pozycją /Errors/Script. Przy każdym błędzie znajduje się jego opis, numer wiersza i kolumny w skrypcie.

Pisanie własnych logów do INFO systemu:
Niektóre błędy w skrypcie mogą być bardziej "podchwytliwe". Na przykład błąd nie musi być syntaktyczny lecz semantyczny, tzn. skrypt działa lecz nie tak, jak powinien.
Do stwierdzenia przyczyny można zastosować metodę Pm.Debug (lub metoda Pm.InfoLogAdd) oraz np. tzw. "metodę równego dzielenia". To znaczy, że gdzieś w aplikacji w odpowiednim miejscu (lub w kilku miejscach) w skrypcie umieszczasz tą metodę (z informacją diagnostyczną w pierwszym parametrze wyrażenia). Następnie w uruchomionej aplikacji dokonaj wykonania danego skryptu i w pozycji Debug INFO systemu można stwierdzić, czy jest wyświetlona "notatka diagnostyczna". Informacja ta podpowie, czy do błędu w skrypcie dochodzi przed lub za notatką.

Web panele:
Metoda Pm.Debug oraz metoda Pm.InfoLogAdd działa również u Web klienta, wypis można przeglądać naciśnięciem klawisza Shift+CtrlAlt+spacja w Web panelu (lub naciśnięciem klawisza F12 w karcie "Konsola").


Długotrwałe śledzenie błędów w aplikacji

Informacje o błędach, które są wyświetlane do INFO systemu są widoczne tylko w uruchomionej i zatrzymanej aplikacji (w runtime oraz w środowisku deweloperskim).
Po wyłączeniu aplikacji zanikają i nie można ich odszukać.

Zapis błędów do pliku LOG:
Globalne błędy jednak mogą być zapisywane również do pliku Aplikacja.log.
Sposób zapisu błędów można ustawić w pliku Aplikacja.ini w sekcji [Log].
Plik LOG można wtedy przeglądać nawet po kilkakrotnym wyłączeniu i włączeniu aplikacji.
Wstępnie ustawione jest logowanie tylko pierwszego błędu danego typu.

Indywidualne logowanie błędów:
Można zastosować również zdarzenie onAppError obiektu PmaRoot na przykład:
- do tworzenia własnego pliku do logowania błędów
- do zapisania zdarzenia błędu do alarmów lub eventów
- do wywołania innej czynności (wysłanie e-maila, SMS, ...)


Restart aplikacji

Mogą pojawić się sytuacje, do których przy krótkotrwałym testowaniu aplikacji nie dojdzie. Na przykład:
- po restarcie SO Windows aplikacja jest uruchomiona wcześniej niż usługi Windows konieczne do jej poprawnego działania
- po jakimś czasie działania aplikacji zostaną wyczerpane środki systemowe SO Windows (Jak monitorować uruchomioną aplikację PROMOTIC pamięć, GDI,...)
- nie zostanie wznowione połączenie z urządzeniem komunikacyjnym po wypadnięciu sieci, itd.


Powstrzymać uruchomienie aplikacji można na przykład:
- przy pomocy programu użytkowego RunLater lub
- w pliku Aplikacja.ini w sekcji Opis kluczy w sekcji [Promotic] ustawiając klucz RtStartDelay


Do zrestartowania aplikacji lub SO Windows po "zawieszeniu" służy komponent zapezpieczeniowy PmRtManager jako WatchDog.
Patrz również:
Nawigacja:
 
 
- Wyszukiwanie błędu w aplikacji
 
 
- SVG
© MICROSYS, spol. s r.o.