IDE: Debug lines for ExternalTools.

git-svn-id: trunk@63082 -
This commit is contained in:
juha 2020-04-26 07:28:55 +00:00
parent 506b6a8af4
commit 4dec45a42b
4 changed files with 27 additions and 26 deletions

View File

@ -508,8 +508,7 @@ type
function GetExecuteAfter(Index: integer): TAbstractExternalTool; virtual; abstract;
function GetExecuteBefore(Index: integer): TAbstractExternalTool; virtual; abstract;
procedure DoExecute; virtual; abstract; // starts thread, returns immediately
procedure Notification(AComponent: TComponent; Operation: TOperation);
override;
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
function CanFree: boolean; virtual;
public
constructor Create(AOwner: TComponent); override;
@ -1155,8 +1154,7 @@ begin
FHandlers[HandlerType].Remove(AMethod);
end;
procedure TAbstractExternalTool.DoCallNotifyHandler(
HandlerType: TExternalToolHandler);
procedure TAbstractExternalTool.DoCallNotifyHandler(HandlerType: TExternalToolHandler);
begin
FHandlers[HandlerType].CallNotifyEvents(Self);
end;
@ -1180,10 +1178,8 @@ function TAbstractExternalTool.CanFree: boolean;
begin
Result:=false;
if csDestroying in ComponentState then exit;
if (FReferences.Count>0)
or (ViewCount>0) then exit;
if (Process<>nil) and (Process.Running) then
exit;
if (FReferences.Count>0) or (ViewCount>0) then exit;
if (Process<>nil) and (Process.Running) then exit;
Result:=true;
end;
@ -1325,8 +1321,7 @@ begin
RemoveHandler(ethNewOutput,TMethod(OnNewOutput));
end;
function TAbstractExternalTool.AddParsers(const SubTool: string
): TExtToolParser;
function TAbstractExternalTool.AddParsers(const SubTool: string): TExtToolParser;
var
ParserClass: TExtToolParserClass;
i: Integer;
@ -1358,8 +1353,7 @@ begin
Result.FTool:=Self;
end;
function TAbstractExternalTool.AddParserByName(const ParserName: string
): TExtToolParser;
function TAbstractExternalTool.AddParserByName(const ParserName: string): TExtToolParser;
var
aClass: TExtToolParserClass;
begin
@ -1564,8 +1558,7 @@ begin
Result:='';
end;
class function TExtToolParser.GetMsgHint(SubTool: string; MsgID: integer
): string;
class function TExtToolParser.GetMsgHint(SubTool: string; MsgID: integer): string;
begin
Result:='';
end;
@ -1611,16 +1604,24 @@ constructor TExternalToolsBase.Create(aOwner: TComponent);
begin
inherited Create(aOwner);
fItems:=TFPList.Create;
if ExternalToolList=nil then
if ExternalToolList=nil then begin
ExternalToolList:=Self;
DebugLn(['TExternalToolsBase.Create: Setting ExternalToolList to ', ExternalToolList]);
end
else
DebugLn(['TExternalToolsBase.Create: ExternalToolList ', ExternalToolList, ' is already set.']);
end;
destructor TExternalToolsBase.Destroy;
begin
inherited Destroy;
FreeAndNil(fItems);
if ExternalToolList=Self then
if ExternalToolList=Self then begin
DebugLn(['TExternalToolsBase.Destroy: Resetting ExternalToolList, was ', ExternalToolList]);
ExternalToolList:=nil;
end
else
DebugLn(['TExternalToolsBase.Destroy: ExternalToolList ', ExternalToolList, ' differs from Self.']);
end;
procedure TExternalToolsBase.ConsistencyCheck;

View File

@ -550,7 +550,7 @@ end;
procedure TCodeExplorerView.FormActivate(Sender: TObject);
begin
DebugLn(['TCodeExplorerView.FormActivate!']);
//DebugLn(['TCodeExplorerView.FormActivate!']);
FCodeCmd1:=IDECommandList.FindIDECommand(ecFindDeclaration);
FCodeCmd2:=IDECommandList.FindIDECommand(ecFindProcedureDefinition);
FCodeCmd3:=IDECommandList.FindIDECommand(ecFindProcedureMethod);

View File

@ -720,7 +720,7 @@ begin
NeedProcTerminate:=false;
EnterCriticalSection;
try
//debugln(['TExternalTool.DoTerminate ',Title,' Terminated=',Terminated,' Stage=',dbgs(Stage)]);
DebugLn(['TExternalTool.DoTerminate ',Title,', Terminated=',Terminated,', Stage=',dbgs(Stage)]);
if Terminated then exit;
if Stage=etsStopped then exit;
@ -736,8 +736,10 @@ begin
finally
LeaveCriticalSection;
end;
if NeedProcTerminate and (Process<>nil) then
if NeedProcTerminate and (Process<>nil) then begin
DebugLn([' TExternalTool.DoTerminate ',Title,'. Terminating the process.']);
Process.Terminate(AbortedExitCode);
end;
end;
procedure TExternalTool.Notification(AComponent: TComponent; Operation: TOperation);
@ -753,8 +755,7 @@ end;
function TExternalTool.CanFree: boolean;
begin
Result:=(FThread=nil)
and inherited CanFree;
Result:=(FThread=nil) and inherited CanFree;
end;
function TExternalTool.IsExecutedBefore(Tool: TAbstractExternalTool): Boolean;
@ -1289,10 +1290,7 @@ var
i: Integer;
begin
for i:=Count-1 downto 0 do
begin
Assert(i<Count, 'TExternalTools.TerminateAll: xxx'); // if i>=Count then continue; <- why was this?
Terminate(Items[i] as TExternalTool);
end;
end;
procedure TExternalTools.Clear;

View File

@ -210,7 +210,7 @@ end;
procedure TExternalToolConsole.QueueAsyncAutoFree;
begin
debugln(['WARNING: TExternalTool.SetThread can not call AutoFree from other thread']);
DebugLn(['WARNING: TExternalTool.SetThread can not call AutoFree from other thread']);
end;
{ TExternalToolsConsole }
@ -234,8 +234,10 @@ end;
procedure TExternalToolsConsole.HandleMesages;
begin
if IsMultiThread then
if IsMultiThread then begin
DebugLn('TExternalToolsConsole.HandleMesages: Calling CheckSynchronize!');
CheckSynchronize;
end;
end;
end.