## Coverage profiler

Version | 1.20.0000
Author | Martina Jindrová , E-mail: jindra@egservis.cz
Lokalizace:
Překlad anglické verze | Milan Pavlík, E-mail: pavlik@pce.cz
Překlad slovenské verze | Jan Korecko, E-mail: Ján Korečko Jan Brndiar, E-mail: brndiar@s-h.sk

#### K čemu to je ...

Coverage profiler (CVP) je specielní programová utilita pro Microsoft Visual Foxpro, sloužící ke zpracování log souboru vytvořeného příkazem SET COVERAGE TO ..., a následnému zobrazení zdrojového kódu. Takto lze sledovat i zkompilované APP a EXE, jen pokud jsou přilinkovány zdrojové kódy (pokud tomu tak není, pak ve vytvořeném log souboru chybí velmi důležitá informace o řádcích ve zdrojovém kódu). Momentálně musí být přítomny (kdekoliv) soubory se zdrojovými kódy aby došlo k jejich načtení.
Zdrojový kód lze zobrazit buď:

dle typu zdroje

- VCX knihovny
- formuláře
- procedurální soubory
- uložené procedury v DBC konteineru

dle průběhu

Výsledek zpracování lze uložit do souboru s koncovkou CVP. Takto uložený soubor je možno znovu otevřít a prohlížet.

#### Jak to pracuje ...

CVP vytváří 4 pracovní soubory a 5 dočasných souborů.

Pracovní soubory
Tabulka logu | Zkrácená verze log souboru, kde texty jsou nahrazeny ID a odkazují se do následujících tabulek.
Tabulka typů zdrojů | Seznam knihoven , formulářů, procedurálních souborů a DBC konteinerů.
Tabulka objektů | Seznam všech proběhlých metod a procedur.
Tabulka zdrojových kódů | Zdrojové kódy proběhlých metod a procedur.
Dočasné soubory
Tabulka stromu zdrojů | Data zobrazující strom dle zdrojů "Zdrojového kódu".
Tabulka průběhu | Data zobrazující strom dle reálného průběhu programu.
Tabulka zdrojových kódů dle průběhu | Seznam zdrojových kódů jednotlivých M/P dle globálního a konkrétního průběhu.

Při ukládání do CVP souboru se ukládají pracovní i dočasné (je-li nastaveno) soubory. Pokud nejsou dočasné soubory uloženy taktéž, pak se generují při otevření CVP souboru a postupně při procházení stromy.

1 | Načítání a zpracování log souboru
Je-li log soubor do 2MB pak se načte do kurzoru pomocí příkazu APPEND FROM ... a pak se zpracovává, jinak dojde k otevření pomocí lowlevel funkcí a zpracovává se přímo.Při zpracování se generuje obsah tabulek "Tabulka logu","Tabulka typů zdrojů" a "Tabulka objektů".
2 | Oprava "Tabulky objektů"
Opraví se názvy (objektová cesta) metod , zvláště metod ve třídách..
3 | Načtení "Tabulky zdrojových kódů"
Je procházena tabulka "Tabulka typů zdrojů" a následně všechny "objekty" z tabulky "Tabulky objektů" patřící k uvedenému zdroji. Ke každému "objektu" je načten zdrojový kód a uložen do tabulky "Tabulka zdrojových kódů".
4 | Zobrazení zdrojového kódu na kartě "Zdroje"
Dochází ke zjišťování z kolika metod/procedur a kolikrát byla daná procedura/metoda volána. Pokud byla volána z více metod/procedur nebo vícekrát z jedné metody/procedury pak se do komboboxu přidá volba "Globální pohled". Spinner "Průběh" slouží k určení určitého průběhu. Po navolení "Voláno z " a "průběhu" se vygeneruje a zobrazí zdrojový kód.
5 | Zobrazení zdrojového kódu na kartě "Hierarchie dle průběhu"
Po kliknutí na větev stromu se vygeneruje a zobrazí zdrojový kód pro daný průběh.

#### Použité komponenty

BIX Archiver 1.00 Beta 4
Autor: | Igor Pavlov
E-mail: | igorp@geocities.com
WWW: | http://compress.da.ru, http://compression.hypermart.net
FTP: | ftp://ftp.elf.stuba.sk/pub/pc/pack/bix*.zip
BZIP2 Archiver
Autor: | Julian Seward
E-mail: | jseward@acm.org
WWW: | http://sources.redhat.com/bzip2/index.html
ZLib Archiver
Autor: | Jean-Loup Gailly and Mark Adler
E-mail: | zlib@gzip.org
WWW: | http://www.ctan.org/tex-archive/tools/zip/info-zip/zlib/, http://www.info-zip.org/pub/infozip/zlib/, http://www.winimage.com/zLibDll/