AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Programm unter Debuggerkontrolle extrem langsam
Thema durchsuchen
Ansicht
Themen-Optionen

Programm unter Debuggerkontrolle extrem langsam

Ein Thema von freimatz · begonnen am 30. Jan 2025 · letzter Beitrag vom 27. Feb 2025
Antwort Antwort
Seite 3 von 3     123   
freimatz

Registriert seit: 20. Mai 2010
1.488 Beiträge
 
Delphi 11 Alexandria
 
#21

AW: Programm unter Debuggerkontrolle extrem langsam

  Alt 27. Feb 2025, 09:07
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?
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.816 Beiträge
 
Delphi 12 Athens
 
#22

AW: Programm unter Debuggerkontrolle extrem langsam

  Alt 27. Feb 2025, 09:13
Du kannst den Remotedebugger lokal verwenden.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.488 Beiträge
 
Delphi 11 Alexandria
 
#23

AW: Programm unter Debuggerkontrolle extrem langsam

  Alt 27. Feb 2025, 09:36
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.

Geändert von freimatz (27. Feb 2025 um 09:49 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.816 Beiträge
 
Delphi 12 Athens
 
#24

AW: Programm unter Debuggerkontrolle extrem langsam

  Alt 27. Feb 2025, 09:55
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.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.488 Beiträge
 
Delphi 11 Alexandria
 
#25

AW: Programm unter Debuggerkontrolle extrem langsam

  Alt 27. Feb 2025, 15:55
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.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Programm unter Debuggerkontrolle extrem langsam

  Alt 27. Feb 2025, 16:22
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.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (27. Feb 2025 um 16:27 Uhr)
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.488 Beiträge
 
Delphi 11 Alexandria
 
#27

AW: Programm unter Debuggerkontrolle extrem langsam

  Alt 27. Feb 2025, 18:55
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?

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?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Programm unter Debuggerkontrolle extrem langsam

  Alt 27. Feb 2025, 19:35
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)
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (27. Feb 2025 um 19:43 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 00:08 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 by Thomas Breitkreuz