AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Debugger langsam bei OpenDialog

Ein Thema von Andreas L. · begonnen am 12. Jul 2020 · letzter Beitrag vom 15. Jul 2020
Antwort Antwort
Seite 1 von 2  1 2      
Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#1

Debugger langsam bei OpenDialog

  Alt 12. Jul 2020, 16:25
Hallo,
wenn ich ein Firemonkey-Projekt debugge in dem ein OpenDialog (oder SaveDialog) aufgerufen wird dauert es beim Aufruf von OpenDialog.Execute eine Ewigkeit bis der Dialog aufgeht. Und jeder Klick im Dialog lässt ihn eine Zeit lang einfrieren. Nach einem Klick auf Abbrechen oder Öffnen schließt sich der Dialog und der Debugger läuft mit ganz normaler Geschwindigkeit weiter.

Was kann ich dagegen machen? Gibt es irgendeine Debugger-Option die da abhilfe schafft? Wie kann das überhaupt zu Stande kommen? Ist der Dialog nicht letztendlich nur eine WinApi-Funktion die gar nicht debuggt werden kann oder muss?
Andreas Lauß
Blog
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.589 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Debugger langsam bei OpenDialog

  Alt 12. Jul 2020, 17:47
Leider klinken sich da viele Tools ein, die nicht immer sauber entwickelt wurden. Zum Beispiel gab es vor ein paar Jahren einmal den Fall, dass Teamviewer (ich glaube Version 6) dabei einen Absturz beim Debuggen verursacht hat.

Welches Tool das sein kann, kannst du evtl. im Ereignislog während des Debuggens sehen, wenn du dort siehst, dass DLLs geladen werden. Allgemein lässt sich das nicht beantworten.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Debugger langsam bei OpenDialog

  Alt 12. Jul 2020, 19:51
Wie dir im Debugger bestimmt auffällt, werden da auch viele DLLs eladen und anschließend fast alle auch wieder entladen.

Hier kann mam notfalls Welche vorher manuell laden, damit sie dann schon da sind.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (12. Jul 2020 um 21:30 Uhr)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.160 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Debugger langsam bei OpenDialog

  Alt 13. Jul 2020, 08:12
Ich bin von 10.0 Seattle auf 10.4 Sydney umgestiegen - Unter Seattle waren diese Dialoge (mit den vielen Shell-DLLs) wirklich der Horror wenn es im Debugger lief, unter 10.4 kommt es mir sehr viel schneller vor. Allerdings ist auch die Windows-Version neuer, vielleicht werden hier mittlerweile weniger DLLS ge/entladen.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Debugger langsam bei OpenDialog

  Alt 13. Jul 2020, 08:28
Ich bin von 10.0 Seattle auf 10.4 Sydney umgestiegen - Unter Seattle waren diese Dialoge (mit den vielen Shell-DLLs) wirklich der Horror wenn es im Debugger lief, unter 10.4 kommt es mir sehr viel schneller vor. Allerdings ist auch die Windows-Version neuer, vielleicht werden hier mittlerweile weniger DLLS ge/entladen.
Hatten mit XE6 auch Problem mit dem Dialog Probleme wegen Warte/Ladezeiten
Jetzt mit 10.2 und neuen Rechner nicht mehr.

Ich würde her nach jaenicke gehen.
Da sind wohl zu viele Systemerweiterungen installiert.
Evtl. auch einige veraltete.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Debugger langsam bei OpenDialog

  Alt 13. Jul 2020, 12:47
Danke für die vielen Antworten.

Ich habe in das Debug-Log geschaut welche DLLs geladen werden. Aber diese Log hat 8000 Zeilen... Beim überfliegen habe ich nichts gefunden. Könnt ihr mir ein kostenloses Tool empfehlen mit dem ich diese Log analysieren kann? Oder hat Delphi so eine Funktion? Ein einfacher Filter würde schon viel bringen...

Was ich sicher sagen kann ist das kein Viren-Scanner sich in den Prozess/Debugger einklinkt. Auch den genannten TeamViewer habe ich nicht laufen. Allerdings habe ich eine Shell-Erweiterung installiert die im Explorer die Thumbnails von Grafik-Formaten anzeigt die Windows nicht von selbst unterstützt. Die Erweiterungen heißen SageThumbs und WebP-Decoder. Habt ihr Erfahrungen damit?

Das Phänomen tritt übrigens nicht nur bei Firemonkey sondern auch bei VCL-Projekten auf.
Andreas Lauß
Blog

Geändert von Andreas L. (13. Jul 2020 um 12:50 Uhr)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.160 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Debugger langsam bei OpenDialog

  Alt 13. Jul 2020, 12:51
Wenn du das öfter brauchst würde ich mir überlegen
  1. den Debugger für den Zeitpunkt auszuklinken und danach wieder mit der laufenden .exe zu verbinden
  2. Die für Tests den Pfad hart einzukodieren und somit den "Datei öffnen"-Dialog zu überspringen. Oder dir notfalls einen billigen eigenen Testdialog zum Öffnen zu bauen.
  Mit Zitat antworten Zitat
BerndS

Registriert seit: 8. Mär 2006
Ort: Jüterbog
491 Beiträge
 
Delphi 12 Athens
 
#8

AW: Debugger langsam bei OpenDialog

  Alt 13. Jul 2020, 13:05
Ich hatte so was in der Art im DEBUG-Modus der Anwendung bei der Verwendung der ERIC-31 DLLs (E-Bilanz).
Das setzen der Systemvariable _NO_DEBUG_HEAP=1 hat das Problem behoben und alles ging wieder sehr schnell.
Möglicherweise hilft das ja.
  Mit Zitat antworten Zitat
Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Debugger langsam bei OpenDialog

  Alt 14. Jul 2020, 10:03
den Debugger für den Zeitpunkt auszuklinken und danach wieder mit der laufenden .exe zu verbinden
Wie genau mach ich das?

Die für Tests den Pfad hart einzukodieren und somit den "Datei öffnen"-Dialog zu überspringen. Oder dir notfalls einen billigen eigenen Testdialog zum Öffnen zu bauen.
Das mache ich bereits. Ist aber trotzdem blöd wenn man mehrere Dateien öffnen muss.

Ich hatte so was in der Art im DEBUG-Modus der Anwendung bei der Verwendung der ERIC-31 DLLs (E-Bilanz).
Das setzen der Systemvariable _NO_DEBUG_HEAP=1 hat das Problem behoben und alles ging wieder sehr schnell.
Möglicherweise hilft das ja.
Soll diese Variable einfach in die Umgebungsvariablen von Windows rein?
Andreas Lauß
Blog
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.589 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Debugger langsam bei OpenDialog

  Alt 14. Jul 2020, 17:28
den Debugger für den Zeitpunkt auszuklinken und danach wieder mit der laufenden .exe zu verbinden
Wie genau mach ich das?
Start --> Vom Programm trennen
Start --> Mit Prozess verbinden...
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 17:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz