DBG: Removed deprecated test app

git-svn-id: trunk@32190 -
This commit is contained in:
martin 2011-09-05 20:51:05 +00:00
parent 5c0afad161
commit 1c12de3876
5 changed files with 0 additions and 516 deletions

4
.gitattributes vendored
View File

@ -2802,10 +2802,6 @@ debugger/test/Gdbmi/testgdbmicontrol.lfm svneol=native#text/plain
debugger/test/Gdbmi/testgdbmicontrol.pas svneol=native#text/pascal
debugger/test/Gdbmi/testgdbtype.pas svneol=native#text/pascal
debugger/test/Gdbmi/testwatches.pas svneol=native#text/pascal
debugger/test/debugtest.lpi svneol=native#text/plain
debugger/test/debugtest.pp svneol=native#text/pascal
debugger/test/debugtestform.lrs svneol=native#text/pascal
debugger/test/debugtestform.pp svneol=native#text/pascal
debugger/test/examples/testcntr.pp svneol=native#text/pascal
debugger/test/examples/testwait.pp svneol=native#text/pascal
debugger/threaddlg.lfm svneol=native#text/plain

View File

@ -1,95 +0,0 @@
<?xml version="1.0"?>
<CONFIG>
<ProjectOptions>
<PathDelim Value="\"/>
<Version Value="7"/>
<General>
<Flags>
<UseDefaultCompilerOptions Value="True"/>
</Flags>
<SessionStorage Value="InIDEConfig"/>
<MainUnit Value="0"/>
<TargetFileExt Value=".exe"/>
<ResourceType Value="res"/>
<UseXPManifest Value="True"/>
<Icon Value="0"/>
</General>
<VersionInfo>
<Language Value=""/>
<CharSet Value=""/>
<StringTable Comments="" CompanyName="" FileDescription="" FileVersion="" InternalName="" LegalCopyright="" LegalTrademarks="" OriginalFilename="" ProductName="" ProductVersion=""/>
</VersionInfo>
<PublishOptions>
<Version Value="2"/>
<IgnoreBinaries Value="False"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local>
</RunParams>
<RequiredPackages Count="4">
<Item1>
<PackageName Value="SynEdit"/>
</Item1>
<Item2>
<PackageName Value="IDEIntf"/>
</Item2>
<Item3>
<PackageName Value="CodeTools"/>
</Item3>
<Item4>
<PackageName Value="LCL"/>
</Item4>
</RequiredPackages>
<Units Count="1">
<Unit0>
<Filename Value="debugtest.pp"/>
<IsPartOfProject Value="True"/>
<UnitName Value="debugtest"/>
</Unit0>
</Units>
</ProjectOptions>
<CompilerOptions>
<Version Value="8"/>
<PathDelim Value="\"/>
<Target>
<Filename Value="project1"/>
</Target>
<SearchPaths>
<OtherUnitFiles Value="$(LazarusDir)\units\$(TargetCPU)-$(TargetOS)\"/>
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<Parsing>
<SyntaxOptions>
<UseAnsiStrings Value="True"/>
</SyntaxOptions>
</Parsing>
<Linking>
<Options>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
<Other>
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Debugging>
<Exceptions Count="3">
<Item1>
<Name Value="EAbort"/>
</Item1>
<Item2>
<Name Value="ECodetoolError"/>
</Item2>
<Item3>
<Name Value="EFOpenError"/>
</Item3>
</Exceptions>
</Debugging>
</CONFIG>

View File

@ -1,17 +0,0 @@
program debugtest;
{$mode objfpc}
{$H+}
uses
Classes, Forms, DebugTestForm, BreakpointsDlg, LocalsDlg,
Interfaces, Unit1;
{$R debugtest.res}
begin
Application.Initialize;
Application.CreateForm(TDebugTestForm, DebugTestFrm);
Application.Run;
end.

View File

@ -1,75 +0,0 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TDebugTestForm','FORMDATA',[
'TPF0'#14'TDebugTestForm'#13'DebugTestForm'#7'CAPTION'#6#13'DebugTestForm'#12
+'CLIENTHEIGHT'#3'd'#1#11'CLIENTWIDTH'#3'l'#2#8'ONCREATE'#7#10'FormCreate'#9
+'ONDESTROY'#7#11'FormDestroy'#18'HORZSCROLLBAR.PAGE'#3'm'#2#18'VERTSCROLLBAR'
+'.PAGE'#3'e'#1#4'LEFT'#3#7#1#6'HEIGHT'#3'd'#1#3'TOP'#3'/'#1#5'WIDTH'#3'l'#2#0
+#6'TLABEL'#11'lblFileName'#7'ANCHORS'#11#5'aktop'#6'akleft'#0#7'CAPTION'#6#9
+'Filename:'#6'LAYOUT'#7#5'tltop'#4'LEFT'#2#8#6'HEIGHT'#2#17#3'TOP'#2#8#5'WID'
+'TH'#2'F'#0#0#5'TEDIT'#11'txtFileName'#7'ANCHORS'#11#5'aktop'#6'akleft'#0#4
+'TEXT'#6'0/usr/src/lazarus/debugger/test/examples/testcntr'#8'TABORDER'#2#1#4
+'LEFT'#2'F'#6'HEIGHT'#2#24#3'TOP'#2#8#5'WIDTH'#3#26#2#0#0#7'TBUTTON'#7'cmdIn'
+'it'#7'ANCHORS'#11#5'aktop'#6'akleft'#0#7'CAPTION'#6#4'Init'#8'TABORDER'#2#2
+#7'ONCLICK'#7#12'cmdInitClick'#4'LEFT'#2#10#6'HEIGHT'#2#25#3'TOP'#2''''#5'WI'
+'DTH'#2'2'#0#0#7'TBUTTON'#7'cmdDone'#7'ANCHORS'#11#5'aktop'#6'akleft'#0#7'CA'
+'PTION'#6#4'Done'#8'TABORDER'#2#3#7'ONCLICK'#7#12'cmdDoneClick'#4'LEFT'#2'F'
+#6'HEIGHT'#2#25#3'TOP'#2''''#5'WIDTH'#2'2'#0#0#7'TBUTTON'#6'cmdRun'#7'ANCHOR'
+'S'#11#5'aktop'#6'akleft'#0#7'CAPTION'#6#3'Run'#8'TABORDER'#2#4#7'ONCLICK'#7
+#11'cmdRunClick'#4'LEFT'#3#130#0#6'HEIGHT'#2#25#3'TOP'#2''''#5'WIDTH'#2'2'#0
+#0#7'TBUTTON'#8'cmdPause'#7'ANCHORS'#11#5'aktop'#6'akleft'#0#7'CAPTION'#6#5
+'Pause'#8'TABORDER'#2#5#7'ONCLICK'#7#13'cmdPauseClick'#4'LEFT'#3#190#0#6'HEI'
+'GHT'#2#25#3'TOP'#2''''#5'WIDTH'#2'2'#0#0#7'TBUTTON'#7'cmdStop'#7'ANCHORS'#11
+#5'aktop'#6'akleft'#0#7'CAPTION'#6#4'Stop'#8'TABORDER'#2#6#7'ONCLICK'#7#12'c'
+'mdStopClick'#4'LEFT'#3#250#0#6'HEIGHT'#2#25#3'TOP'#2''''#5'WIDTH'#2'2'#0#0#7
+'TBUTTON'#7'cmdStep'#7'ANCHORS'#11#5'aktop'#6'akleft'#0#7'CAPTION'#6#4'Step'
+#8'TABORDER'#2#7#7'ONCLICK'#7#12'cmdStepClick'#4'LEFT'#3'6'#1#6'HEIGHT'#2#25
+#3'TOP'#2''''#5'WIDTH'#2'2'#0#0#7'TBUTTON'#11'cmdStepInto'#7'ANCHORS'#11#5'a'
+'ktop'#6'akleft'#0#7'CAPTION'#6#9'Step into'#8'TABORDER'#2#8#7'ONCLICK'#7#16
+'cmdStepIntoClick'#4'LEFT'#3'r'#1#6'HEIGHT'#2#25#3'TOP'#2''''#5'WIDTH'#2'2'#0
+#0#6'TLABEL'#8'lblState'#7'ANCHORS'#11#5'aktop'#6'akleft'#0#6'LAYOUT'#7#5'tl'
+'top'#4'LEFT'#2#8#6'HEIGHT'#2#17#3'TOP'#3#165#0#5'WIDTH'#2'2'#0#0#6'TLABEL'#9
+'lblAdress'#7'ANCHORS'#11#5'aktop'#6'akleft'#0#6'LAYOUT'#7#5'tltop'#4'LEFT'#2
+':'#6'HEIGHT'#2#17#3'TOP'#3#165#0#5'WIDTH'#2'd'#0#0#6'TLABEL'#9'lblSource'#7
+'ANCHORS'#11#5'aktop'#6'akleft'#0#6'LAYOUT'#7#5'tltop'#4'LEFT'#3#166#0#6'HEI'
+'GHT'#2#17#3'TOP'#3#165#0#5'WIDTH'#2'd'#0#0#6'TLABEL'#7'lblLine'#7'ANCHORS'
+#11#5'aktop'#6'akleft'#0#6'LAYOUT'#7#5'tltop'#4'LEFT'#3#18#1#6'HEIGHT'#2#17#3
+'TOP'#3#165#0#5'WIDTH'#2'd'#0#0#6'TLABEL'#7'lblFunc'#7'ANCHORS'#11#5'aktop'#6
+'akleft'#0#6'LAYOUT'#7#5'tltop'#4'LEFT'#3'~'#1#6'HEIGHT'#2#17#3'TOP'#3#165#0
+#5'WIDTH'#2'd'#0#0#5'TMEMO'#6'txtLog'#7'ANCHORS'#11#5'aktop'#6'akleft'#0#10
+'SCROLLBARS'#7#6'ssboth'#8'WORDWRAP'#9#8'TABORDER'#2#14#4'LEFT'#2#8#6'HEIGHT'
+#3#150#0#3'TOP'#3#192#0#5'WIDTH'#3'X'#2#0#0#6'TLABEL'#7'lblTest'#7'ANCHORS'
+#11#5'aktop'#6'akleft'#0#7'CAPTION'#6#5'Test:'#6'LAYOUT'#7#5'tltop'#4'LEFT'#2
+#8#6'HEIGHT'#2#17#3'TOP'#2'G'#5'WIDTH'#2'F'#0#0#7'TBUTTON'#10'cmdCommand'#7
+'ANCHORS'#11#5'aktop'#6'akleft'#0#7'CAPTION'#6#3'CMD'#8'TABORDER'#2#16#7'ONC'
+'LICK'#7#15'cmdCommandClick'#4'LEFT'#3':'#1#6'HEIGHT'#2#25#3'TOP'#2'G'#5'WID'
+'TH'#2'2'#0#0#7'TBUTTON'#8'cmdCLear'#7'ANCHORS'#11#5'aktop'#6'akleft'#0#7'CA'
+'PTION'#6#5'Clear'#8'TABORDER'#2#17#7'ONCLICK'#7#13'cmdClearClick'#4'LEFT'#3
+'w'#1#6'HEIGHT'#2#25#3'TOP'#2'G'#5'WIDTH'#2'2'#0#0#5'TEDIT'#10'txtCommand'#7
+'ANCHORS'#11#5'aktop'#6'akleft'#0#8'TABORDER'#2#18#4'LEFT'#2'F'#6'HEIGHT'#2
+#24#3'TOP'#2'G'#5'WIDTH'#3#237#0#0#0#6'TLABEL'#8'lblBreak'#7'ANCHORS'#11#5'a'
+'ktop'#6'akleft'#0#7'CAPTION'#6#6'Break:'#6'LAYOUT'#7#5'tltop'#4'LEFT'#2#8#6
+'HEIGHT'#2#17#3'TOP'#3#132#0#5'WIDTH'#2'F'#0#0#7'TBUTTON'#11'cmdSetBreak'#7
+'ANCHORS'#11#5'aktop'#6'akleft'#0#7'CAPTION'#6#5'Set B'#8'TABORDER'#2#20#7'O'
+'NCLICK'#7#16'cmdSetBreakClick'#4'LEFT'#3':'#1#6'HEIGHT'#2#25#3'TOP'#3#132#0
+#5'WIDTH'#2'2'#0#0#7'TBUTTON'#13'cmdResetBreak'#7'ANCHORS'#11#5'aktop'#6'akl'
+'eft'#0#7'CAPTION'#6#5'Del B'#8'TABORDER'#2#21#7'ONCLICK'#7#18'cmdResetBreak'
+'Click'#4'LEFT'#3'w'#1#6'HEIGHT'#2#25#3'TOP'#3#132#0#5'WIDTH'#2'2'#0#0#9'TCH'
+'ECKBOX'#14'chkBreakEnable'#8'AUTOSIZE'#9#11'ALLOWGRAYED'#9#7'ANCHORS'#11#5
+'aktop'#6'akleft'#0#7'CAPTION'#6#6'Enable'#10'DRAGCURSOR'#2#0#8'TABORDER'#2
+#22#7'ONCLICK'#7#19'chkBreakEnableClick'#8'TABORDER'#2#22#4'LEFT'#3#180#1#6
+'HEIGHT'#2#25#3'TOP'#3#132#0#5'WIDTH'#2'd'#0#0#5'TEDIT'#12'txtBreakFile'#7'A'
+'NCHORS'#11#5'aktop'#6'akleft'#0#4'TEXT'#6#11'testcntr.pp'#8'TABORDER'#2#23#4
+'LEFT'#2'F'#6'HEIGHT'#2#24#3'TOP'#3#132#0#5'WIDTH'#3#150#0#0#0#5'TEDIT'#12't'
+'xtBreakLine'#7'ANCHORS'#11#5'aktop'#6'akleft'#0#4'TEXT'#6#1'1'#8'TABORDER'#2
+#24#4'LEFT'#3#227#0#6'HEIGHT'#2#24#3'TOP'#3#132#0#5'WIDTH'#2'P'#0#0#6'TLABEL'
+#11'lblEvaluate'#7'ANCHORS'#11#5'aktop'#6'akleft'#0#7'CAPTION'#6#9'Evaluate:'
+#6'LAYOUT'#7#5'tltop'#4'LEFT'#2#8#6'HEIGHT'#2#17#3'TOP'#2'h'#5'WIDTH'#2'F'#0
,#0#5'TEDIT'#11'txtEvaluate'#7'ANCHORS'#11#5'aktop'#6'akleft'#0#8'TABORDER'#2
+#26#4'LEFT'#2'F'#6'HEIGHT'#2#23#3'TOP'#2'h'#5'WIDTH'#3#237#0#0#0#7'TBUTTON'
+#11'cmdEvaluate'#7'ANCHORS'#11#5'aktop'#6'akleft'#0#7'CAPTION'#6#4'Eval'#8'T'
+'ABORDER'#2#27#7'ONCLICK'#7#16'cmdEvaluateClick'#4'LEFT'#3':'#1#6'HEIGHT'#2
+#25#3'TOP'#2'h'#5'WIDTH'#2'2'#0#0#6'TLABEL'#13'lblEvalResult'#7'ANCHORS'#11#5
+'aktop'#6'akleft'#0#7'CAPTION'#6#3'---'#6'LAYOUT'#7#5'tltop'#4'LEFT'#3'w'#1#6
+'HEIGHT'#2#17#3'TOP'#2'h'#5'WIDTH'#3#200#0#0#0#0
]);

View File

@ -1,325 +0,0 @@
{ $Id$ }
{ ----------------------------------------
debugtestform.pp - Debugger test app
----------------------------------------
@created(Wed Feb 25st WET 2001)
@lastmod($Date$)
@author(Marc Weustink <marc@@dommelstein.net>)
***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
}
unit debugtestform;
{$mode objfpc}
{$H+}
interface
uses
Classes, Graphics, Controls, Forms, Dialogs, LResources,
Buttons, StdCtrls, Debugger, DebugOutputForm, BreakpointsDlg,
LocalsDlg, WatchesDlg, CallStackDlg;
type
TDebugTestForm = class(TForm)
cmdInit : TButton;
cmdDone : TButton;
cmdRun : TButton;
cmdPause : TButton;
cmdStop : TButton;
cmdStep : TButton;
cmdStepInto : TButton;
cmdSetBreak : TButton;
cmdResetBreak : TButton;
lblFileName: TLabel;
lblAdress: TLabel;
lblSource: TLabel;
lblLine: TLabel;
lblFunc: TLabel;
lblState: TLabel;
lblBreak: TLabel;
lblEvaluate: TLabel;
lblTest: TLabel;
txtLog: TMemo;
cmdCommand: TButton;
cmdClear: TButton;
txtCommand: TEdit;
txtFileName: TEdit;
txtBreakFile: TEdit;
txtBreakLine: TEdit;
chkBreakEnable: TCheckBox;
txtEvaluate: TEdit;
lblEvalResult: TLabel;
cmdEvaluate: TButton;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure cmdInitClick(Sender: TObject);
procedure cmdDoneClick(Sender: TObject);
procedure cmdRunClick(Sender: TObject);
procedure cmdPauseClick(Sender: TObject);
procedure cmdStopClick(Sender: TObject);
procedure cmdStepClick(Sender: TObject);
procedure cmdStepIntoClick(Sender: TObject);
procedure cmdCommandClick(Sender: TObject);
procedure cmdClearClick(Sender: TObject);
procedure cmdSetBreakClick(Sender: TObject);
procedure cmdResetBreakClick(Sender: TObject);
procedure cmdEvaluateClick(Sender: TObject);
procedure chkBreakEnableClick(Sender: TObject);
private
FDebugger: TDebugger;
FOutputForm: TDBGOutputForm;
FBreakpointDlg: TBreakpointsDlg;
FLocalsDlg: TLocalsDlg;
FWatchesDlg: TWatchesDlg;
FCallStackDlg: TCallStackDlg;
FDummy: Boolean;
procedure DBGState(Sender: TObject);
procedure DBGCurrent(Sender: TObject; const ALocation: TDBGLocationRec);
procedure DBGOutput(Sender: TObject; const AText: String);
procedure DBGTargetOutput(Sender: TObject; const AText: String);
procedure OutputFormDestroy(Sender: TObject);
protected
procedure Loaded; override;
public
destructor Destroy; override;
published
property Dummy: Boolean read FDummy write FDummy; // insert some dummies until fpcbug #1888 is fixed
property Dummy1: Boolean read FDummy write FDummy; // insert some dummies until fpcbug #1888 is fixed
property Dummy2: Boolean read FDummy write FDummy; // insert some dummies until fpcbug #1888 is fixed
property Dummy3: Boolean read FDummy write FDummy; // insert some dummies until fpcbug #1888 is fixed
end;
var
DebugTestFrm: TDebugTestForm;
implementation
uses
SysUtils,
GDBMIDebugger;
procedure TDebugTestForm.Loaded;
begin
inherited Loaded;
// Not yet through resources
//txtLog.Scrollbars := ssBoth;
end;
destructor TDebugTestForm.Destroy;
begin
// This shouldn't be needed, but the OnDestroy event isn't called
inherited;
// FormDestroy(Self);
end;
procedure TDebugTestForm.FormCreate(Sender: TObject);
begin
txtLog.Lines.Clear;
FDebugger := nil;
FBreakpointDlg := TBreakpointsDlg.Create(Application);
FBreakpointDlg.Show;
FLocalsDlg := TLocalsDlg.Create(Application);
FLocalsDlg.Show;
FWatchesDlg := TWatchesDlg.Create(Application);
FWatchesDlg.Show;
FOutputForm := TDBGOutputForm.Create(Application);
FOutputForm.Show;
FCallStackDlg := TCallStackDlg.Create(Application);
FCallStackDlg.Show;
end;
procedure TDebugTestForm.FormDestroy(Sender: TObject);
begin
try
FBreakpointDlg.Debugger := nil;
FLocalsDlg.Debugger := nil;
FWatchesDlg.Debugger := nil;
FOutputForm.Debugger := nil;
FCallStackDlg.Debugger := nil;
except
on Exception do;
end;
FDebugger.Free;
FDebugger := nil;
end;
procedure TDebugTestForm.cmdInitClick(Sender: TObject);
begin
if FDebugger = nil
then begin
FDebugger := TGDBMIDebugger.Create('/usr/bin/gdb');
FDebugger.OnDbgOutput := @DBGOutput;
FDebugger.OnOutput := @DBGTargetOutput;
FDebugger.OnCurrent := @DBGCurrent;
FDebugger.OnState := @DBGState;
TDBGBreakPointGroup(FDebugger.BreakPointGroups.Add).Name := 'Default';
FBreakpointDlg.Debugger := FDebugger;
FLocalsDlg.Debugger := FDebugger;
FWatchesDlg.Debugger := FDebugger;
FOutputForm.Debugger := FDebugger;
FCallStackDlg.Debugger := FDebugger;
end;
FDebugger.Init;
FDebugger.FileName := txtFileName.Text;
end;
procedure TDebugTestForm.cmdDoneClick(Sender: TObject);
begin
if FDebugger <> nil
then begin
FDebugger.Done;
FBreakpointDlg.Debugger := nil;
FLocalsDlg.Debugger := nil;
FWatchesDlg.Debugger := nil;
FOutputForm.Debugger := nil;
FWatchesDlg.Debugger := nil;
FDebugger.Free;
FDebugger := nil;
end;
end;
procedure TDebugTestForm.cmdRunClick(Sender: TObject);
begin
if FDebugger <> nil
then begin
FDebugger.FileName := txtFileName.Text;
FDebugger.Run;
end;
end;
procedure TDebugTestForm.cmdPauseClick(Sender: TObject);
begin
if FDebugger <> nil
then begin
FDebugger.Pause;
end;
end;
procedure TDebugTestForm.cmdStepClick(Sender: TObject);
begin
if FDebugger <> nil
then begin
FDebugger.StepOver;
end;
end;
procedure TDebugTestForm.cmdStepIntoClick(Sender: TObject);
begin
if FDebugger <> nil
then begin
FDebugger.StepInto;
end;
end;
procedure TDebugTestForm.cmdStopClick(Sender: TObject);
begin
if FDebugger <> nil
then begin
FDebugger.Stop;
end;
end;
procedure TDebugTestForm.cmdCommandClick(Sender: TObject);
begin
TGDBMIDebugger(FDebugger).TestCmd(txtCommand.Text);
end;
procedure TDebugTestForm.cmdClearClick(Sender: TObject);
begin
txtLog.Lines.Clear;
end;
procedure TDebugTestForm.cmdSetBreakClick(Sender: TObject);
begin
FDebugger.Breakpoints.Add(txtBreakFile.Text, StrToIntDef(txtBreakLine.Text, 1));
end;
procedure TDebugTestForm.cmdResetBreakClick(Sender: TObject);
begin
if FDebugger.Breakpoints.Count > 0
then FDebugger.Breakpoints[0].Free;
end;
procedure TDebugTestForm.chkBreakEnableClick(Sender: TObject);
begin
if FDebugger.Breakpoints.Count > 0
then FDebugger.Breakpoints[0].Enabled := chkBreakEnable.Checked;
end;
procedure TDebugTestForm.cmdEvaluateClick(Sender: TObject);
var
S: String;
ATypeInfo: TDBGType;
begin
ATypeInfo := nil;
FDebugger.Evaluate(txtEvaluate.Text, S, ATypeInfo);
lblEvalResult.Caption := S;
end;
procedure TDebugTestForm.OutputFormDestroy(Sender: TObject);
begin
FOutputForm := nil;
end;
procedure TDebugTestForm.DBGOutput(Sender: TObject; const AText: String);
begin
txtLog.Lines.Add(AText);
end;
procedure TDebugTestForm.DBGTargetOutput(Sender: TObject; const AText: String);
begin
if FOutputForm <> nil
then FOutputForm.AddText(AText);
end;
procedure TDebugTestForm.DBGCurrent(Sender: TObject; const ALocation: TDBGLocationRec);
begin
lblAdress.Caption := Format('$%p', [ALocation.Address]);
lblSource.Caption := ALocation.SrcFile;
lblLine.Caption := IntToStr(ALocation.SrcLine);
lblFunc.Caption := ALocation.FuncName;
end;
procedure TDebugTestForm.DBGState(Sender: TObject);
var
n: Integer;
begin
case FDebugger.State of
dsNone :lblState.Caption := 'dsNone ';
dsIdle :lblState.Caption := 'dsIdle ';
dsStop :lblState.Caption := 'dsStop ';
dsPause: begin
lblState.Caption := 'dsPause';
txtLog.Lines.Add('[locals]');
for n := 0 to FDebugger.Locals.Count - 1 do
begin
txtLog.Lines.Add(FDebugger.Locals.Names[n] + ':'+ FDebugger.Locals.Values[n]);
end;
end;
dsRun :lblState.Caption := 'dsRun ';
dsError:lblState.Caption := 'dsError';
else
lblState.Caption := '?';
end;
end;
initialization
{$I debugtestform.lrs}
end.