Debugger: Moved backend registration to initialization section

This commit is contained in:
Martin 2022-12-16 13:02:14 +01:00
parent 8f2367727a
commit 8cd89c5af8
12 changed files with 37 additions and 11 deletions

View File

@ -1875,6 +1875,10 @@ type
procedure DoBackendConverterChanged; virtual; abstract;
end;
(* RegisterDebugger
Should be run in the initialization section of one of the units of the package.
The PackageManager's call to "Register()" (as part of RegisterPackage / RegisterUnit is to late.
*)
procedure RegisterDebugger(const ADebuggerClass: TDebuggerClass);
function MinDbgPtr(a, b: TDBGPtr): TDBGPtr;inline; overload;

View File

@ -14827,10 +14827,12 @@ end;
procedure Register;
begin
RegisterDebugger(TGDBMIDebugger);
//RegisterDebugger(TGDBMIDebugger);
end;
initialization
RegisterDebugger(TGDBMIDebugger);
DBGMI_QUEUE_DEBUG := DebugLogger.RegisterLogGroup('DBGMI_QUEUE_DEBUG' {$IFDEF DBGMI_QUEUE_DEBUG} , True {$ENDIF} );
DBGMI_STRUCT_PARSER := DebugLogger.RegisterLogGroup('DBGMI_STRUCT_PARSER' {$IFDEF DBGMI_STRUCT_PARSER} , True {$ENDIF} );
DBG_VERBOSE := DebugLogger.FindOrRegisterLogGroup('DBG_VERBOSE' {$IFDEF DBG_VERBOSE} , True {$ENDIF} );

View File

@ -478,9 +478,12 @@ end;
procedure Register;
begin
RegisterDebugger(TGDBMIServerDebugger);
//RegisterDebugger(TGDBMIServerDebugger);
end;
initialization
RegisterDebugger(TGDBMIServerDebugger);
end.

View File

@ -361,9 +361,12 @@ end;
procedure Register;
begin
RegisterPropertyEditor(TypeInfo(String), TSSHGDBMIDebuggerProperties, 'Note', TSSHGDBMINotePropertyEditor);
RegisterDebugger(TSSHGDBMIDebugger);
//RegisterDebugger(TSSHGDBMIDebugger);
end;
initialization
RegisterDebugger(TSSHGDBMIDebugger);
end.

View File

@ -646,7 +646,7 @@ type
procedure Register;
begin
RegisterDebugger(TFpDebugDebugger);
//RegisterDebugger(TFpDebugDebugger);
end;
{ TFpDebugExceptionStepping.TFrameList }
@ -4625,6 +4625,8 @@ begin
end;
initialization
RegisterDebugger(TFpDebugDebugger);
DBG_VERBOSE := DebugLogger.FindOrRegisterLogGroup('DBG_VERBOSE' {$IFDEF DBG_VERBOSE} , True {$ENDIF} );
DBG_WARNINGS := DebugLogger.FindOrRegisterLogGroup('DBG_WARNINGS' {$IFDEF DBG_WARNINGS} , True {$ENDIF} );
DBG_BREAKPOINTS := DebugLogger.FindOrRegisterLogGroup('DBG_BREAKPOINTS' {$IFDEF DBG_BREAKPOINTS} , True {$ENDIF} );

View File

@ -414,7 +414,7 @@ type
procedure Register;
begin
RegisterDebugger(TFPDServerDebugger);
//RegisterDebugger(TFPDServerDebugger);
end;
{ TFPDSendCommand }
@ -1542,5 +1542,8 @@ begin
SetState(dsStop);
end;
initialization
RegisterDebugger(TFPDServerDebugger);
end.

View File

@ -1209,7 +1209,7 @@ end;
procedure Register;
begin
RegisterDebugger(TFpGDBMIDebugger);
//RegisterDebugger(TFpGDBMIDebugger);
MenuCmd := RegisterIDEMenuCommand(itmRunDebugging, 'fpGdbmiToggleGDB',
fpgdbmiDisplayGDBInsteadOfFpDebugWatches, nil,
@ -1220,6 +1220,8 @@ begin
end;
initialization
RegisterDebugger(TFpGDBMIDebugger);
DBG_VERBOSE := DebugLogger.FindOrRegisterLogGroup('DBG_VERBOSE' {$IFDEF DBG_VERBOSE} , True {$ENDIF} );
DBG_ERRORS := DebugLogger.FindOrRegisterLogGroup('DBG_ERRORS' {$IFDEF DBG_ERRORS} , True {$ENDIF} );
end.

View File

@ -1734,10 +1734,12 @@ end;
procedure Register;
begin
RegisterDebugger(TFpLldbDebugger);
//RegisterDebugger(TFpLldbDebugger);
end;
initialization
RegisterDebugger(TFpLldbDebugger);
DBG_VERBOSE := DebugLogger.FindOrRegisterLogGroup('DBG_VERBOSE' {$IFDEF DBG_VERBOSE} , True {$ENDIF} );
DBG_ERRORS := DebugLogger.FindOrRegisterLogGroup('DBG_ERRORS' {$IFDEF DBG_ERRORS} , True {$ENDIF} );
end.

View File

@ -217,8 +217,11 @@ end;
procedure Register;
begin
RegisterDebugger(TFpRspRemoteDebugger);
//RegisterDebugger(TFpRspRemoteDebugger);
end;
initialization
RegisterDebugger(TFpRspRemoteDebugger);
end.

View File

@ -3154,10 +3154,12 @@ end;
procedure Register;
begin
RegisterDebugger(TLldbDebugger);
//RegisterDebugger(TLldbDebugger);
end;
initialization
RegisterDebugger(TLldbDebugger);
DBG_VERBOSE := DebugLogger.FindOrRegisterLogGroup('DBG_VERBOSE' {$IFDEF DBG_VERBOSE} , True {$ENDIF} );
end.

View File

@ -1472,7 +1472,7 @@ begin
fLastParsedMakeExe:='. .';
UpdateMakeExeNote;
RegisterDebugger(TGDBMIDebugger); // make sure we can read the config
//RegisterDebugger(TGDBMIDebugger); // make sure we can read the config
FSkipDebugger := DebuggerOptions.HasActiveDebuggerEntry // There is a configured entry. Assume it is right, unless we can prove it is incorrect
and not (
(DebuggerOptions.CurrentDebuggerPropertiesConfig <> nil) and // The ACTIVE dbg is a known debugger

View File

@ -1471,7 +1471,7 @@ begin
// check debugger
// PackageBoss is not yet loaded...
RegisterDebugger(TGDBMIDebugger); // make sure we can read the config
//RegisterDebugger(TGDBMIDebugger); // make sure we can read the config
if (not ShowSetupDialog)
and (not SkipAllTests)
and (not GetSkipCheck(skcDebugger))