mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-20 14:39:22 +02:00
LazDebuggerFpLLDB: load dwarf info in thread / simplify clean up
git-svn-id: trunk@59824 -
This commit is contained in:
parent
8965b70a28
commit
e72387cbeb
@ -315,6 +315,9 @@ begin
|
|||||||
|
|
||||||
FDwarfInfo := TFpDwarfInfo.Create(FImageLoaderList);
|
FDwarfInfo := TFpDwarfInfo.Create(FImageLoaderList);
|
||||||
FDwarfInfo.MemManager := FMemManager;
|
FDwarfInfo.MemManager := FMemManager;
|
||||||
|
if Terminated then
|
||||||
|
exit;
|
||||||
|
|
||||||
FDwarfInfo.LoadCompilationUnits;
|
FDwarfInfo.LoadCompilationUnits;
|
||||||
debugln(DBG_VERBOSE, ['finish THREAD TFpLldbDebugger.LoadDwarf ']);
|
debugln(DBG_VERBOSE, ['finish THREAD TFpLldbDebugger.LoadDwarf ']);
|
||||||
end;
|
end;
|
||||||
@ -1099,16 +1102,10 @@ begin
|
|||||||
|
|
||||||
if FDwarfLoaderThread <> nil then begin
|
if FDwarfLoaderThread <> nil then begin
|
||||||
debugln(DBG_VERBOSE, ['Terminate FDwarfLoaderThread ']);
|
debugln(DBG_VERBOSE, ['Terminate FDwarfLoaderThread ']);
|
||||||
FDwarfLoaderThread.Suspend;
|
FDwarfLoaderThread.Terminate;
|
||||||
if FDwarfLoaderThread.Finished then begin
|
FDwarfLoaderThread.WaitFor; // This may take a while, but normally the thread should never exist in UnLoadDwarf
|
||||||
FDwarfLoaderThread.FreeDwarf;
|
FDwarfLoaderThread.FreeDwarf;
|
||||||
FDwarfLoaderThread.Free
|
FreeAndNil(FDwarfLoaderThread);
|
||||||
end else begin
|
|
||||||
FDwarfLoaderThread.FreeOnTerminate := True;
|
|
||||||
FDwarfLoaderThread.Terminate;
|
|
||||||
FDwarfLoaderThread.Resume;
|
|
||||||
end;
|
|
||||||
FDwarfLoaderThread := nil;
|
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user