vložil Radek Červinka
2. ledna 2010 23:29
S Delphi 2010 přichází i další vylepšení v debuggeru. Už v Delphi 2007 byla třeba přidána podpora breakpointů přes callstack (viz mé poznámky o Delphi 2007) a mnoho dalších rozšíření debuggeru Delphi (např. pojmenování vláken pro debugger), ale dnes něco o debug vizualizerech.
Během ladění musí (no teoreticky nemusí :-)) debugger nějak zobrazovat hodnoty proměnných, což není problém u jednoduchých typů jako string nebo Integer, ale už je to horší u objektů nebo typů typu TDateTime, což je ve skutečnosti hodnota double.
Pro tyto účely jsou vytvořeny debug vizualizéry, což jsou IDE experti (tj. specializované třídy, které se instalují do IDE a rozšiřují funkcionalitu IDE), kteří mají na starosti nějakým způsobem připravit pro konkrétní typy jejich hodnoty k zobrazení.
Standardně jsou k dispozici dva vizualizéry a to pro TStringList a pro zmíněný TDateTime, ale součástí instalace jsou jejich zdrojové kódy, takže máte možnost napsat další (ono to asi udělají autoři různých expertů jako CnWizards). Zdrojové kódy jsou v RAD Studio\7.0\source\Win32\Visualizers\.
1program Project1;
2
3
4
5uses
6 SysUtils, Classes;
7
8var
9 sl: TStringList;
10 dt: TDateTime;
11
12begin
13 dt := Now;
14 sl := TStringList.Create;
15 sl.Add('Text 1');
16 sl.Add('Text 2');
17 writeln(dt);
18 writeln(sl.Text);
19 sl.Free;
20end.
a ukázka zobrazení v Delphi 2010:

navíc se dá specifikovat, které vizualizéry budou aktivní (v Options)

Myslím, že už ty dva základní vizualizéry jsou moc užitečné.