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 Postupnosť volaní).
Zobrazovacie záložky
Kompilácia
Záložka obsahuje zoznam správ zo statickej analýzy a z kontroly syntaxe (nastavené cez %HI_SetDebuggerResult)
Ladenie
Záložka obsahuje správy, ktoré boli vygenerované počas výpočtu.
Poznámky
Záložka obsahuje zoznam riadkov predpisu, na ktorých sa nachádza komentár začínajúci textom TODO alebo FIXME
Sledovanie
Záložka hodnôt sledovaných lokálnych premenných vybraného 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.
Body zastavenia
Záložka zobrazuje všetky body zastavenia umiestnené v aktuálnom predpise vektora.
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:
Pridať komentár