mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-16 04:39:22 +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/testgdbmicontrol.pas svneol=native#text/pascal
|
||||||
debugger/test/Gdbmi/testgdbtype.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/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/testcntr.pp svneol=native#text/pascal
|
||||||
debugger/test/examples/testwait.pp svneol=native#text/pascal
|
debugger/test/examples/testwait.pp svneol=native#text/pascal
|
||||||
debugger/threaddlg.lfm svneol=native#text/plain
|
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