mirror of https://gitlab.com/basile.b/dexed.git
GDB commander, cadd option to keep IO streams
This commit is contained in:
parent
d4c068d483
commit
786aae6921
|
@ -203,9 +203,9 @@ inherited CEGdbWidget: TCEGdbWidget
|
||||||
Hint = 'edit the command line and the environment of the debuger target'
|
Hint = 'edit the command line and the environment of the debuger target'
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 517
|
Width = 517
|
||||||
ActivePage = TabSheet5
|
ActivePage = TabSheet1
|
||||||
Align = alTop
|
Align = alTop
|
||||||
TabIndex = 2
|
TabIndex = 0
|
||||||
TabOrder = 3
|
TabOrder = 3
|
||||||
object TabSheet1: TTabSheet
|
object TabSheet1: TTabSheet
|
||||||
Caption = 'Call stack'
|
Caption = 'Call stack'
|
||||||
|
|
|
@ -280,6 +280,7 @@ type
|
||||||
fShowRawMiOutput: boolean;
|
fShowRawMiOutput: boolean;
|
||||||
fShortcuts: TCEDebugShortcuts;
|
fShortcuts: TCEDebugShortcuts;
|
||||||
fAsmSyntax: TAsmSyntax;
|
fAsmSyntax: TAsmSyntax;
|
||||||
|
fKeepRedirectedStreams: boolean;
|
||||||
fStopAllThreadsOnBreak: boolean;
|
fStopAllThreadsOnBreak: boolean;
|
||||||
procedure setIgnoredSignals(value: TStringList);
|
procedure setIgnoredSignals(value: TStringList);
|
||||||
procedure setCommandsHistory(value: TStringList);
|
procedure setCommandsHistory(value: TStringList);
|
||||||
|
@ -294,6 +295,7 @@ type
|
||||||
property autoGetThreads: boolean read fAutoGetThreads write fAutoGetThreads;
|
property autoGetThreads: boolean read fAutoGetThreads write fAutoGetThreads;
|
||||||
property commandsHistory: TStringList read fCommandsHistory write setCommandsHistory;
|
property commandsHistory: TStringList read fCommandsHistory write setCommandsHistory;
|
||||||
property ignoredSignals: TStringList read fIgnoredSignals write setIgnoredSignals;
|
property ignoredSignals: TStringList read fIgnoredSignals write setIgnoredSignals;
|
||||||
|
property keepRedirectedStreams: boolean read fKeepRedirectedStreams write fKeepRedirectedStreams default false;
|
||||||
property shortcuts: TCEDebugShortcuts read fShortcuts write setShortcuts;
|
property shortcuts: TCEDebugShortcuts read fShortcuts write setShortcuts;
|
||||||
property showGdbOutput: boolean read fShowGdbOutput write fShowGdbOutput;
|
property showGdbOutput: boolean read fShowGdbOutput write fShowGdbOutput;
|
||||||
property showRawMiOutput: boolean read fShowRawMiOutput write fShowRawMiOutput;
|
property showRawMiOutput: boolean read fShowRawMiOutput write fShowRawMiOutput;
|
||||||
|
@ -480,6 +482,7 @@ type
|
||||||
procedure storeObserversBreakpoints;
|
procedure storeObserversBreakpoints;
|
||||||
procedure updateDebugeeOptionsEditor;
|
procedure updateDebugeeOptionsEditor;
|
||||||
procedure synchronizeBreakpointsFromDoc;
|
procedure synchronizeBreakpointsFromDoc;
|
||||||
|
procedure deleteRedirectedIO;
|
||||||
// GDB output processors
|
// GDB output processors
|
||||||
procedure gdboutQuiet(sender: TObject);
|
procedure gdboutQuiet(sender: TObject);
|
||||||
procedure gdboutJsonize(sender: TObject);
|
procedure gdboutJsonize(sender: TObject);
|
||||||
|
@ -653,6 +656,7 @@ begin
|
||||||
fIgnoredSignals.Assign(src.fIgnoredSignals);
|
fIgnoredSignals.Assign(src.fIgnoredSignals);
|
||||||
fCommandsHistory.Assign(src.fCommandsHistory);
|
fCommandsHistory.Assign(src.fCommandsHistory);
|
||||||
fShortcuts.assign(src.fShortcuts);
|
fShortcuts.assign(src.fShortcuts);
|
||||||
|
fKeepRedirectedStreams := src.fKeepRedirectedStreams;
|
||||||
end
|
end
|
||||||
else inherited;
|
else inherited;
|
||||||
end;
|
end;
|
||||||
|
@ -1329,13 +1333,6 @@ begin
|
||||||
exit;
|
exit;
|
||||||
fProj := nil;
|
fProj := nil;
|
||||||
updateDebugeeOptionsEditor;
|
updateDebugeeOptionsEditor;
|
||||||
if not fDbgRunnable then
|
|
||||||
begin
|
|
||||||
if fOutputName.fileExists then
|
|
||||||
deleteFile(fOutputName);
|
|
||||||
if fInputName.fileExists then
|
|
||||||
deleteFile(fInputName);
|
|
||||||
end;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCEGdbWidget.projFocused(project: ICECommonProject);
|
procedure TCEGdbWidget.projFocused(project: ICECommonProject);
|
||||||
|
@ -1375,13 +1372,6 @@ begin
|
||||||
exit;
|
exit;
|
||||||
fDoc := nil;
|
fDoc := nil;
|
||||||
updateDebugeeOptionsEditor;
|
updateDebugeeOptionsEditor;
|
||||||
if fDbgRunnable then
|
|
||||||
begin
|
|
||||||
if fOutputName.fileExists then
|
|
||||||
deleteFile(fOutputName);
|
|
||||||
if fInputName.fileExists then
|
|
||||||
deleteFile(fInputName);
|
|
||||||
end;
|
|
||||||
end;
|
end;
|
||||||
{$ENDREGION}
|
{$ENDREGION}
|
||||||
|
|
||||||
|
@ -1802,6 +1792,16 @@ begin
|
||||||
end
|
end
|
||||||
else fBreakPoints.clearFile(fDoc.fileName);
|
else fBreakPoints.clearFile(fDoc.fileName);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TCEGdbWidget.deleteRedirectedIO;
|
||||||
|
begin
|
||||||
|
if fOptions.keepRedirectedStreams then
|
||||||
|
exit;
|
||||||
|
if fOutputName.fileExists then
|
||||||
|
deleteFile(fOutputName);
|
||||||
|
if fInputName.fileExists then
|
||||||
|
deleteFile(fInputName);
|
||||||
|
end;
|
||||||
{$ENDREGION}
|
{$ENDREGION}
|
||||||
|
|
||||||
{$REGION GDB output processors -------------------------------------------------}
|
{$REGION GDB output processors -------------------------------------------------}
|
||||||
|
@ -2183,6 +2183,7 @@ begin
|
||||||
fMsg.message('debugging terminated: ' + reason, nil, amcMisc, amkInf);
|
fMsg.message('debugging terminated: ' + reason, nil, amcMisc, amkInf);
|
||||||
setState(gsNone);
|
setState(gsNone);
|
||||||
subjDebugStop(fSubj);
|
subjDebugStop(fSubj);
|
||||||
|
deleteRedirectedIO;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -2537,6 +2538,7 @@ begin
|
||||||
gdbCommand('kill', @gdboutJsonize);
|
gdbCommand('kill', @gdboutJsonize);
|
||||||
subjDebugStop(fSubj);
|
subjDebugStop(fSubj);
|
||||||
setState(gsNone);
|
setState(gsNone);
|
||||||
|
deleteRedirectedIO;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCEGdbWidget.btnWatchClick(Sender: TObject);
|
procedure TCEGdbWidget.btnWatchClick(Sender: TObject);
|
||||||
|
|
Loading…
Reference in New Issue