+ Other window for Debuggee code

This commit is contained in:
pierre 1999-11-10 17:19:58 +00:00
parent 5dbf5496c3
commit d88564f73b

View File

@ -29,6 +29,8 @@ type
LastFileName : string;
LastSource : PView; {PsourceWindow !! }
HiddenStepsCount : longint;
{ no need to switch if using another terminal }
NoSwitch : boolean;
constructor Init(const exefn:string);
destructor Done;
procedure DoSelectSourceline(const fn:string;line:longint);virtual;
@ -254,6 +256,7 @@ const
BreakpointStateStr : Array[BreakpointState] of String[8]
= ( 'enabled','disabled','invalid' );
DebuggeeTTY : string = '';
var
Debugger : PDebugController;
BreakpointsCollection : PBreakpointCollection;
@ -359,6 +362,7 @@ constructor TDebugController.Init(const exefn:string);
begin
inherited Init;
f := exefn;
NoSwitch:=False;
LoadFile(f);
SetArgs(GetRunParameters);
Debugger:=@self;
@ -421,7 +425,23 @@ end;
procedure TDebugController.Run;
begin
ResetBreakpointsValues;
{$ifdef win32}
{ Run the debugge in another console }
if DebuggeeTTY<>'' then
Command('set new-console on')
else
Command('set new-console off');
NoSwitch:=DebuggeeTTY<>'';
{$endif win32}
{$ifdef linux}
{ Run the debugge in another tty }
Command('set tty '+DebuggeeTTY);
NoSwitch:=DebuggeeTTY<>'';
{$endif win32}
{ Switch to user screen to get correct handles }
UserScreen;
inherited Run;
DebuggerScreen;
MyApp.SetCmdState([cmResetDebugger,cmUntilReturn],true);
If assigned(StackWindow) then
StackWindow^.Update;
@ -498,6 +518,7 @@ var
begin
inherited Reset;
NoSwitch:=false;
MyApp.SetCmdState([cmResetDebugger,cmUntilReturn],false);
W:=PSourceWindow(LastSource);
if assigned(W) then
@ -637,6 +658,7 @@ begin
W:=PSourceWindow(LastSource);
if assigned(W) then
W^.Editor^.SetDebuggerRow(-1);
LastExitCode:=Code;
If HiddenStepsCount=0 then
InformationBox(#3'Program exited with '#13#3'exitcode = %d',@code)
else
@ -652,12 +674,14 @@ end;
procedure TDebugController.DoDebuggerScreen;
begin
if NoSwitch then exit;
MyApp.ShowIDEScreen;
end;
procedure TDebugController.DoUserScreen;
begin
if NoSwitch then exit;
MyApp.ShowUserScreen;
end;
@ -2373,7 +2397,10 @@ end.
{
$Log$
Revision 1.33 1999-10-25 16:39:03 pierre
Revision 1.34 1999-11-10 17:19:58 pierre
+ Other window for Debuggee code
Revision 1.33 1999/10/25 16:39:03 pierre
+ GetPChar to avoid nil pointer problems
Revision 1.32 1999/09/16 14:34:57 pierre