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; procedure DoBackendConverterChanged; virtual; abstract;
end; 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); procedure RegisterDebugger(const ADebuggerClass: TDebuggerClass);
function MinDbgPtr(a, b: TDBGPtr): TDBGPtr;inline; overload; function MinDbgPtr(a, b: TDBGPtr): TDBGPtr;inline; overload;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1471,7 +1471,7 @@ begin
// check debugger // check debugger
// PackageBoss is not yet loaded... // 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) if (not ShowSetupDialog)
and (not SkipAllTests) and (not SkipAllTests)
and (not GetSkipCheck(skcDebugger)) and (not GetSkipCheck(skcDebugger))