mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-22 14:59:30 +02:00
DBG: Removed deprecated test app
git-svn-id: trunk@32190 -
This commit is contained in:
parent
5c0afad161
commit
1c12de3876
4
.gitattributes
vendored
4
.gitattributes
vendored
@ -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
|
||||
|
@ -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>
|
@ -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.
|
@ -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
|
||||
]);
|
@ -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.
|
Loading…
Reference in New Issue
Block a user