Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Programm unter Debuggerkontrolle extrem langsam (https://www.delphipraxis.net/216625-programm-unter-debuggerkontrolle-extrem-langsam.html)

freimatz 27. Feb 2025 08:07

AW: Programm unter Debuggerkontrolle extrem langsam
 
Sehe da nichts was ich tun kann. Einen Verwendung von Sleep sehe ich nirgendwo.
Die Umstellung auf 64-Bit ist extrem viel Aufwand. Dazu müsste ich für Ersatz von Methoden erst mal Unit-Tests machen. Was kaum geht weil - siehe oben.
Kann man Delphi beim Debuggen unter 32-Bit nicht veranlassen sich auch so zu verhalten wie unter 64-Bit, also mit dieser Bridge?

jaenicke 27. Feb 2025 08:13

AW: Programm unter Debuggerkontrolle extrem langsam
 
Du kannst den Remotedebugger lokal verwenden.

freimatz 27. Feb 2025 08:36

AW: Programm unter Debuggerkontrolle extrem langsam
 
Was meinst Du damit. Ich habe noch nie verstanden was mit dem "Remotedebugger" gemeint ist.
Ich habe nun das Programm gestartet ohne Debug-Kontrolle und dann danach "Attach to Process..." gemacht. Das?
Und da funktioniert es nun - juhu.

jaenicke 27. Feb 2025 08:55

AW: Programm unter Debuggerkontrolle extrem langsam
 
Der Remotedebugger funktioniert so, dass du auf einem Rechner diesen als Prozess startest und dann mit Delphi von einem anderen Rechner aus damit verbindest und auf dem Remoterechner aus der Ferne debuggst. Das funktioniert auch per VPN beim Kunden, wenn auch sehr langsam.

In diesem Fall würdest du den dann lokal starten. Und du kannst auch den Prozess mit dem Remotedebugger starten.

Wenn es aber mit dem Verbinden funktioniert, ist das ein einfacherer Workaround. Um direkt mit dem Debugger zu starten, kannst du sowas einbauen:
Delphi-Quellcode:
while not IsDebuggerPresent do
  Sleep(100);
Dann wartet das Programm an der Stelle (z.B. in der Projektdatei nach dem begin), bis du mit dem Debugger verbunden hast. Du darfst das halt nur nicht versehentlich einchecken. Du kannst das zur Sicherheit natürlich z.B. nur machen, wenn eine Datei oder Umgebungsvariable da ist, die es nur auf dem Entwicklungs-PC gibt.

freimatz 27. Feb 2025 14:55

AW: Programm unter Debuggerkontrolle extrem langsam
 
Danke für alles. Dann kann ich endlich mal weiter machen.
Wegen Remotedebugger, ah inzwischen weiss ich es das ist ein separates Tool, der PA_Server.

himitsu 27. Feb 2025 15:22

AW: Programm unter Debuggerkontrolle extrem langsam
 
Es gibt den Remote-Debugger und den PAServer.

Der Debugger ist nur zum Debuggen da, also Verbindung zwischen einer irgendwo liegenden Anwenung und dem Debugger (Delphi-IDE)
und der PAServer kann zusätzlich noch die Verteilung/Installation der kompilierten Anwendung übernehmen.

C:\Program Files (x86)\Embarcadero\Studio\23.0\bin\rmtdbg290.exe
C:\Program Files (x86)\Embarcadero\Studio\23.0\PAServer\setup_paserver.exe

https://docwiki.embarcadero.com/RADS..._Debug-Servers
https://docwiki.embarcadero.com/RADS...rver-Anwendung


PS: Da die DelphiIDE/Debugger 32 Bit ist und er somit keine 64 Bit-Anwendung debuggen kann,
wird dort automatisch der RemoteDebugger zwischengeschaltet.
Ebenso, wie für fremde Plattformen (Android/iOS/OSX/Linux), beim Debuggen, immer ein PAServer dazwischen hängt.

freimatz 27. Feb 2025 17:55

AW: Programm unter Debuggerkontrolle extrem langsam
 
Hallo,
Danke für Eure Informationen. Bin nun noch mehr verwirrt. Ich habe nun sehr viele Informatioen wie man remote debuggen kann, was ein "Remote-Debug-Server" ist und wie man ihn benutzt. Aber ich weiss immer noch nicht was das ist, was Ihr (und EMB) mit "Remote-Debugger" bezeichnet. Zumindest einer meiner Kollege versteht etwas anderes darunter. Ist es etwa die dbkw64_29_0.exe? Ist es eine Anwendung? Eine dll? Ein Teil der bds.exe? Nur ein Konzept?

Zitat:

Zitat von himitsu (Beitrag 1546636)
PS: Da die DelphiIDE/Debugger 32 Bit ist und er somit keine 64 Bit-Anwendung debuggen kann, wird dort automatisch der RemoteDebugger zwischengeschaltet.

Und kann man Delphi dazu bringen, das auch bei 32-Bit zu tun?

himitsu 27. Feb 2025 18:35

AW: Programm unter Debuggerkontrolle extrem langsam
 
Nja, der RemoteDebugger (aber auch der PAServer)
stellen eine Debugschnittstelle auf einem anderen PC bereit (oder auch auf dem Selben),
damit dein lokaler Debugger (Delphi) ein "entferntes" Programm debuggen kann.

Bei 32 <> 64 Bit muß das sein.
ein 64-Bit-Debugger kann "auch" direkt 32-Bit-Programme debuggen ... nur andersrum geht es nicht.
Drum werden Win64-Programme intern immer über einen lokalen Remotedebugger gehandhabt (ohne dass du es merkst).

Und ja, man kann damit natürlich auch lokale 32-Bit-Programme debuggen.
Die RemoteDebugger-EXE lokal starten und dann Run -> mit Prozess verbinden -> localhost.




Die dbkw64_29_0.exe (Embarcadero Debugger Kernel) dürfte das sein, was Delphi intern als lokalen-RemoteDebugger für Win64 benutzt.
(der versucht auch keinen Port nach außen zu öffnen, so wie die rmtdbg290.exe)

[edit] Hmmm, die rmtdbg290.exe (auch ein Embarcadero Debugger Kernel) ist ja auch nur 32 Bit ... dann wir das wohl doch nur für Win32-Programme sein (war nie auf die Idee gekommen auch mal Win64 remote zu debuggen)


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:27 Uhr.
Seite 3 von 3     123   

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