AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Erfahrungen mit DelphiCodeCoverage und "Delphi Code Coverage Wizards" #1
Thema durchsuchen
Ansicht
Themen-Optionen

Erfahrungen mit DelphiCodeCoverage und "Delphi Code Coverage Wizards" #1

Ein Thema von freimatz · begonnen am 23. Nov 2022 · letzter Beitrag vom 30. Nov 2022
 
freimatz

Registriert seit: 20. Mai 2010
1.522 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Erfahrungen mit DelphiCodeCoverage und "Delphi Code Coverage Wizards" #1

  Alt 23. Nov 2022, 15:55
Doch schon gleich der nächste Versuch. Dieser hat jedoch keinen Erfolg.
Es geht um das Modul wo ich den meisten Code gemacht habe. Im Gegensatz zum vorigen Versuch enthält dieser auch Klassen und Generics.
Der Wizard scheint seine Sache noch richtig zu machen. CodeCoverage.exe startet. Nach Prozess-Explorer wird auch das Testprojekt gestartet. Dann hängt CodeCoverage.exe lange Zeit mit ca. 8% CPU. Das Testprojekt zeigt sich jedoch überhaupt nicht. Nach langer Zeit ist die Sache zu Ende. Der Report ist da, jedoch ist die Coverage bei 0.
Bin nun im Debugger und bin nun hier.
Delphi-Quellcode:
function TDebugger.StartProcessToDebug: Boolean;
var
  StartInfo: TStartupInfo;
  ProcInfo: TProcessInformation;
  Parameters: string;
  WorkingDir: PChar;
begin
  Parameters := FCoverageConfiguration.ApplicationParameters;
  FLogManager.Log(
    'Trying to start ' + FCoverageConfiguration.ExeFileName +
    ' with the Parameters :' + Parameters);

  FillChar(StartInfo, SizeOf(TStartupInfo), #0);
  FillChar(ProcInfo, SizeOf(TProcessInformation), #0);
  StartInfo.cb := SizeOf(TStartupInfo);

  StartInfo.dwFlags := STARTF_USESTDHANDLES;
  StartInfo.hStdInput := GetStdHandle(STD_INPUT_HANDLE);
  StartInfo.hStdOutput := GetStdHandle(STD_OUTPUT_HANDLE);
  StartInfo.hStdError := GetStdHandle(STD_ERROR_HANDLE);

  WorkingDir := nil;
  if FCoverageConfiguration.UseTestExePathAsWorkingDir then
  begin
    WorkingDir := PChar(ExtractFilePath(FCoverageConfiguration.ExeFileName));
  end;

  Parameters := '"' + FCoverageConfiguration.ExeFileName + '" ' + Parameters;
  Result := CreateProcess(
    nil,
    PChar(Parameters),
    nil,
    nil,
    True,
    CREATE_NEW_PROCESS_GROUP + NORMAL_PRIORITY_CLASS + DEBUG_PROCESS,
    nil,
    WorkingDir,
    StartInfo,
    ProcInfo
  );

  FProcessID := ProcInfo.dwProcessId;
end;
Ich meine danach sollte das Testprojekt sichtbar sein. Was könnte da schief gehen?
Einige Werte:
Code:
Watch Name   Value
Parameters   '"J:\Bla\sysWin32\TestDomainBlub.exe" '
WorkingDir   nil {#0}
StartInfo   (68, nil {#0}, nil {#0}, nil {#0}, 0, 0, 0, 0, 0, 0, 0, 256, 0, 0, nil, 156, 160, 164)
ProcInfo   (508, 504, 15152, 11800)
WorkingDir zu setzen hat nichts gebracht.

Nachtrag: Habe in TDebugger.ProcessDebugEvents den Timeout erhöht. Er kommt nun nicht mehr bei "FLogManager.Log('Wait For Debug Event timed-out');" vorbei, hilft aber insgesamt auch nicht.

Geändert von freimatz (23. Nov 2022 um 16:35 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz