EDA debugger je určený na editáciu a 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.
Tretím spôsobom je možnosť editácie predpisu vektora. Pre editáciu je nutné vložiť počiatočný predpis pomocou volania %HI_SetText. Upravený zápis je následne možné získať volaním funkcie %HI_GetText. Stlačením tlačidla "Kontrola syntaxe" je generovaná udalosť OnDebuggerAction. Výsledok kontroly syntaxe je následne možné vložiť pomocou funkcie %HI_SetDebuggerResult.
Grafický objekt EDA debugger použitý v schéme otvorenej v HI vyzerá nasledovne:
Skladá sa z:
- Nástrojový panel – slúži na spúšťanie ladenia, editáciu a zadávanie ladiacich príkazov.
- Záložky vektorov – obsahujú zdrojové predpisy výpočtu vektorov.
- Zobrazovacie záložky:
- Kompilácia – obsahuje správy z kompilácie a statickej analýzy.
- Ladenie – obsahuje správy, ktoré boli vygenerované počas výpočtu.
- Poznámky– obsahuje zoznam riadkov, na ktorých sa nachádzajú komentáre začínajúce slovom TODO alebo FIXME.
- Sledovanie – obsahuje sledované premenné vybraného vektora.
- Body zastavenia – obsahuje zoznam bodov zastavenia umiestnených v editore.
- Postupnosť volaní – obsahuje aktuálny zoznam vnorení vektorov prerušeného výpočtu.
Nástrojový panel
Slúži na spúšťanie ladenia, editáciu predpisu EDA vektora a zadávanie príkazov, pomocou ktorých sa ovláda ladenie výpočtu.
| Prechod na riadok v zobrazenom vektore CTRL+G | |
| Kontrola syntaxe | |
Zoznam bežiacich výpočtov – 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 konštánt | |
Zoznam funkcií | |
| Pokračuj vo výpočte. | |
| 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:
| |
| Koniec ladenia výpočtu (výpočet bude bežať ďalej). |
Záložky vektorov
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
Zobrazovacie záložky
Ladenie
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.
Sledovanie
Záložka hodnôt sledovaných lokálnych premenných vybraného vektora. Symbol +/- zbalí / rozbalí premenné vektora.
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:
- odobratie vybratej premennej / viacerých premenných,
- odobratie všetkých premenných,
- nastavenie nových hodnôt vybraných položiek,
- zrušenie zmeny hodnoty vybraných položiek.
Zásobník volaníí
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ý.
Príklad spustenia výpočtu vektora na ladenie zo skriptu schémy
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
Súvisiace stránky:








