Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#1

DesignTime-Package debuggen?

  Alt 31. Aug 2024, 19:50
n'abend, aktuell funktioniert mal wieder garnichts.

Normale EXE Debuggen ... kein Problem,
aber DLL und vorallem RuntimePackages nerven nur noch.

Aber ganz speziell die DesignTime-Packages.

Ich hab's bei mir jetzt mal auf einen ganz einfachen Test reduziert.

Hier die Anleitung, welche ich schonmal anfing für Emba zu schreiben.
Funktioniert es so bei euch?

Und mal ganz im Ernst, wer lässt wirklich die DebugDCUs aktiv,
oder debuggt ihr niemals?

Zitat:
create new Package
disable the DebugDCU crap, or leave it on ... whatever, nothing changes ... it's just shittier at debugging
add new Unit
add "Register" procedure
Delphi-Quellcode:
procedure Register;

implementation

procedure Register;
begin
  if GetRTLVersion = 0 then
    ;
end;
save all
install package
set start parameter
* host = $(BDS)\bin\bds.exe
* param = -pDelphi
* path = $(BDS)\bin
set breakpoint in this procedure
and run it [F9]
> it does not stop and i don't see blue dots (in first IDE on left site of code editor)
see if is was loaded > Help > Info ... > Versioninfo > search package
see in debug log > the package was loaded with debug infos
Zitat:
A little more ... the dialog is displayed after installation, after compiling, but also when starting the new IDE,
otherwise everything is the same.
Delphi-Quellcode:
unit Unit1;

interface

procedure Register;

implementation

uses
  Winapi.Windows;

procedure Register;
begin
  MessageBox(0, 'blubb', nil, 0);
end;

end.
Delphi 12.1 Prof ... schonwieder frisch installiert
und 'nen ganz einfaches Windows 11 Pro 23H2, ohne viel drauf.


Mein Problem fing damit an, dass ich mir einen Komponenteneditor schreiben wollte,
der bei ExecuteVerb einen Dialog anzeigen sollte.
Meine TForm hab ich inzwischen auch schon komplett entmistet (kein Code und nur noch paar Comboboxen und Buttons drauf),
aber (vermutlich) beim ShowModal bleibt die IDE hängen und macht nichts mehr, außer Beep, wenn ich versuche das IDE-Fenster anzuklicken.

Per se wäre das so weit OK, bei einem modalen Fenster, aber Dieses ist nunmal nicht sichtbar und lässt sich auch nicht finden.
Der Debugger hilft leider auch nicht, da ich nichts debuggen kann und wenn ich einfach an der Stelle "pausiere" dann seh ich im Stacktrace auch nicht viel, außer einen Eintrag mit meinem Package, aber da eben auch nur den Dateinamen, ohne Unit/Prozedur/Zeile/...

Mit DebugDCUs seh ich aber natürlich die Codestellen von den Exceptions, in den RTL-Units, welche Delphi selber beim Start massenhaft wirft.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (31. Aug 2024 um 22:02 Uhr)
  Mit Zitat antworten Zitat