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\.
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils, Classes;
var
sl: TStringList;
dt: TDateTime;
begin
dt := Now;
sl := TStringList.Create;
sl.Add('Text 1');
sl.Add('Text 2');
writeln(dt);
writeln(sl.Text);
sl.Free;
end.
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é.
Datum: 2010-01-02 22:29:00 Tagy: Delphi 2010, ladeni, debugger