EDA debugger je určený na ladenie výpočtu vypočítaných vektorov a funkcií subsystému EDA. Dostupný je ako grafický objekt pre schémy pod menom EDA debugger.
Samotný grafický objekt umožňuje priamo vo svojom grafickom rozhraní pripojiť sa na ľubovoľný bežiaci EDA výpočet v aplikácii, pričom pod výpočtom sa rozumie načítanie vypočítaného vektora alebo výpočet funkcie. Ovládanie ladenia prebieha celé v grafickom rozhraní, ktoré poskytuje grafický objekt EDA debugger.
Druhý spôsob použitia EDA debuggera je odštartovanie výpočtu na ladenie priamo z ESL skriptu. Na takéto použitie slúžia podporné funkcie grafického objektu EDA debugger. V prvom kroku je potrebné vytvoriť spojenie pre ladenie s procesom vykonávajúcim EDA výpočty. Na nadviazanie takéhoto spojenia slúži funkcia %HI_EDADebugOpen. Ukončenie ladiaceho pripojenia sa vykonáva funkciou %HI_EDADebugClose. Po vytvorení ladiaceho spojenia je možné spustiť výpočet existujúceho vypočítaného vektora na ladenie zavolaním funkcie %HI_EDADebugVectorRec. Zavolaním funkcie %HI_EDADebugCalcFunctionRec sa spustí ladenie výpočtu vlastného EDA-L predpisu. Funkcie %HI_EDADebugVectorRec a %HI_EDADebugCalcFunctionRec nečakajú na skončenie nimi rozbehnutého výpočtu .
Grafický objekt EDA debugger použitý v schéme otvorenej v HI vyzerá nasledovne:
Skladá sa z:
Slúži na zadávanie príkazov, pomocou ktorých sa ovláda ladenie výpočtu.
![]() |
Zapnutie zobrazenia číslovania riadkov v záložke vektorov. |
![]() |
Prechod na riadok v zobrazenom vektore |
![]() |
Pripojenie na výpočet – pripojenie sa k bežiacemu výpočtu, ktorý sa má ladiť.
Dialóg zobrazí zoznam všetkých bežiacich EDA výpočtov v aplikácii s informáciou, na ktorom EDA serveri výpočet beží, z ktorého klienta bol odštartovaný a počiatočný vektor, ktorý je načítavaný.![]() |
![]() |
Zoznam lokálnych premenných v zobrazenom vektore – umožňuje pridávať premenné do záložky Premenné. |
![]() |
Zoznam vektorov použitých pri ladení (aj zatvorených) – dá sa z neho otvoriť (vybrať) vektor, ktorý
sa zobrazí.
![]() |
![]() |
Informačná ikona behu výpočtu:
|
![]() |
Pokračuj vo výpočte. |
![]() |
Pokračuj vo výpočte vektora po riadok, na ktorom je kurzor (ak na riadku nie je príkaz skriptu, pokračuje sa až po najbližší riadok s príkazom). |
![]() |
Krok dnu – v prípade, že riadok obsahuje načítanie vypočítaného vektora, pokračuje sa v jeho vnútri. |
![]() |
Krok ponad – v prípade, že riadok obsahuje načítanie vypočítaného vektora, načítanie sa vykoná a výkon sa zastaví na nasledujúcom riadku skriptu. |
![]() |
Pokračuj po návrat z vektora. |
![]() |
Preruš prebiehajúci výpočet. |
![]() |
Ukončenie výpočtu. |
![]() |
Prerušenie pri výnimke – výberové tlačidlo s dvoma farbami:
|
![]() |
Zruš všetky zarážky – zrušenie všetkých zarážok vo všetkých vektoroch. |
![]() |
Koniec ladenia výpočtu (výpočet bude bežať ďalej). |
Obsahujú predpisy vektorov, ktoré boli použité počas ladenia pripojeného výpočtu.
Predpis vektora je do záložiek pridaný automaticky pri prerušení výpočtu – záložky budú obsahovať všetky vektory v aktuálnom zásobníku volaní. Ručne je možné záložku s predpisom vektora odobrať (skryť) a pridať naspäť (cez zoznam vektorov).
Záložky obsahujú meno a verziu vektora + indikáciu stavu vektora, pričom sú poskytnuté 3 možnosti:
Obsahuje:
Pomocou popup menu nad predpisom vektora je možné:
Záložka obsahuje správy, ktoré boli vygenerované počas výpočtu. Do okna v záložke je možné vpisovať svoje poznámky a rušiť označené texty.
Záložka hodnôt sledovaných lokálnych premenných vybraného vektora.
Symbol +/- zbalí / rozbalí premenné vektora.
Plní sa zo zoznamu lokálnych premenných z príkazového menu alebo cez popup menu nad vybranou premennou v okne predpisu vektora.
Zoznam lokálnych premenných farebne odlišuje premenné, ktorých hodnoty sú už sledované (tyrkysová farba). Pri výbere premennej typu pole je potrebné zadať aj rozsah hodnôt, ktoré budú sledované:
Výber môže byť daný rozsahom a vymenovaním. Ak je rozsah ukončený 0, zobrazujú sa položky až po poslednú. Napr.: 3,11-14,18,25-0.
Sledovaná premenná / skupina premenných sa zo zoznamu odoberá cez popup menu. Zmena hodnoty je možná priamo v zozname sledovaných premenných.
Popup menu nad zoznamom sledovaných premenných umožňuje:
Zásobník volaní zobrazuje aktuálny zoznam vnorení vektorov prerušeného výpočtu. Prvotný vektor vo výpočte je v zozname prvý hore. Dvojklikom v zozname je možné vybrať záložku s predpisom vektora. Automaticky bude vybratý aj riadok, na ktorom je výpočet daného predpisu prerušený.
INT _serverId, _clientId INT _retCode ENTRY BTN_DebugVectorRec_OnClick RECORD NOALIAS (SD._System_HI_EDADebugVectorRec) _paramsRec TIME _bt, _et ; pripojenie sa na proces vykonavajuci EDA vypocty _retCode := %HI_EDADebugOpen(_DBG, _serverId, _clientId) _bt := %StrToTimeEx("2015-01-01 00:00:00", "rrrr-mm-dd hh:mi:ss") _et := %StrToTimeEx("2015-02-01 00:00:00", "rrrr-mm-dd hh:mi:ss") _paramsRec[1]^structVersion := 1 ; spustenie vypoctu vektora na ladenie _retCode := %HI_EDADebugVectorRec(_DBG, "DBG.Main", _bt, _et, _paramsRec\HBJ) END BTN_DebugVectorRec_OnClick ENTRY BTN_DebugClose_OnClick ; uzavretie ladiaceho spojenia _retCode := %HI_EDADebugClose(_DBG) END BTN_DebugClose_OnClick BEGIN ; ziskanie ID procesu EDA Klient, ktory pouziva toto HI a procesu EDA Server, na ktory je klient pripojeny ; predpoklada sa, ze uz existuje spojenie na EDA CALL %EDA_GetProcessId(_serverId, _clientId, _retCode) END |