AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Ursache für dauerhafte CPU-Auslastung finden
Thema durchsuchen
Ansicht
Themen-Optionen

Ursache für dauerhafte CPU-Auslastung finden

Ein Thema von CodeX · begonnen am 8. Feb 2021 · letzter Beitrag vom 10. Mär 2021
Antwort Antwort
Seite 1 von 2  1 2      
freimatz

Registriert seit: 20. Mai 2010
1.490 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Ursache für dauerhafte CPU-Auslastung finden

  Alt 9. Feb 2021, 13:33
procmon?

Vielleicht bekommt die App Windows-Botschaften von ausserhalb.

Geändert von freimatz ( 9. Feb 2021 um 14:05 Uhr)
  Mit Zitat antworten Zitat
CodeX

Registriert seit: 30. Okt 2004
475 Beiträge
 
Delphi 12 Athens
 
#2

AW: Ursache für dauerhafte CPU-Auslastung finden

  Alt 9. Feb 2021, 15:15
procmon?
Vielleicht bekommt die App Windows-Botschaften von ausserhalb.
Habe jetzt eine Weile mit dem Process Monitor draufgeschaut. Die Anwendung macht im minimierten Zustand rein gar nichts. Zumindest nichts, was sich dort anzeigen ließe.

Und ich habe natürlich keinen Idle-Loop, der auf eine Eingabe wartet, sonst wüsste ich ja, wo das Problem zu suchen ist. Falls irgendsowas in einer Delphi-Unit drin ist, wäre ja genau das herauszufinden.
Nur Delphi schafft es, einem ein Lächeln zu schenken, wenn man sich beim Schreiben von := vertippt und stattdessen ein :) erscheint.
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.073 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Ursache für dauerhafte CPU-Auslastung finden

  Alt 10. Feb 2021, 08:30
Glaskugel sagt: Du hast einen externen Thread, der mit Sleep(...) in Dauerschleife läuft und irgendwas pollt/pollen soll.
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.555 Beiträge
 
Delphi 7 Professional
 
#4

AW: Ursache für dauerhafte CPU-Auslastung finden

  Alt 10. Feb 2021, 09:48
Meine Glaskugel tippt bei sowas immer zuerst auf 'nen Timer, der was macht, von dem keiner ahnt was er macht und keiner ahnt, dass er überhaupt existiert und von dem keiner weiß, ob sein "Arbeitsergebnis" überhaupt irgendeinen Sinn und Zweck hat oder irgendwen interessiert, ...
  Mit Zitat antworten Zitat
CodeX

Registriert seit: 30. Okt 2004
475 Beiträge
 
Delphi 12 Athens
 
#5

AW: Ursache für dauerhafte CPU-Auslastung finden

  Alt 10. Feb 2021, 09:55
Bitte keine Glaskugeln ... im Projekt selbst wird soweit ich das sehen kann, kein Quatsch gemacht. Vielleicht in irgendeiner der verwendeten Komponenten.

Ich brauche ein gezielte Möglichkeit, die Ursache herauszufinden.
Das allererste Stichwort hier "AQTime" scheint mir immer noch eine gute Möglichkeit zu sein und es müsste kostenfrei verfügbar sein, aber ich weiß einfach nicht, wo ich das herbekommen soll. Im GetIt ist es (zumindest für Version 10.3) nicht und einen externen Download habe ich nicht gefunden. Wenn ja jemand was dazu hat oder etwas ähnliches wie AQTime. Oder irgendeine Debugger-Option, die einem anzeigt, wo gerade was gemacht wird bzw. eine Art Dauerlog der letzten Aufrufe.
Nur Delphi schafft es, einem ein Lächeln zu schenken, wenn man sich beim Schreiben von := vertippt und stattdessen ein :) erscheint.
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.555 Beiträge
 
Delphi 7 Professional
 
#6

AW: Ursache für dauerhafte CPU-Auslastung finden

  Alt 10. Feb 2021, 10:22
Naja, das Ergebnis meiner Glaskugel ist halt immer:

Es werden alle zum Projekt gehörenden Quelltexte nach TTimer durchsucht. Gibt's irgendwo 'ne Verwendung von TTimer, so wird an den entsprechenden Stelle geschaut, ob die Timer aktiv sind und was sie machen, ob sie erforderlich sind, ...

Bei Threads kann man bestimmt eine analoge Suche durchführen und so dort eine Ursachenermittlung machen ...

Deine Eingangsfrage war halt
Zitat von CodeX:
Ich frage mich nun, wie ich die Ursache herausfinden kann.

...
Unsere "Glaskugeln" weisen auf übliche und üble Möglichkeiten für dauerhafte CPU-Auslastung hin und sollten mit Bordmitteln der IDE zu ermitteln sein, als Verursacher erkannt oder ausgeschlossen werden können, ...

Die Glaskugel kannst Du in diesem Zusammenhang als Synonym für "Langjährige Erfahrung in der Problemursachenforschung im Zusammenhang mit der Programmierung unter Zuhilfenahme einer entsprechenden und leistungsfähigen Entwicklungsumgebung" betrachten. Glaskugel klingt da irgendwie netter
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.073 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Ursache für dauerhafte CPU-Auslastung finden

  Alt 10. Feb 2021, 11:09
Ich brauche ein gezielte Möglichkeit, die Ursache herauszufinden.
Das allererste Stichwort hier "AQTime" scheint mir immer noch eine gute Möglichkeit zu sein und es müsste kostenfrei verfügbar sein, aber ich weiß einfach nicht, wo ich das herbekommen soll.
Nanu, Internet kaputt?

Tut mir leid, wenn das etwas schnippisch rüber kommt, aber wenn ich AQTime in Google eintippe, fällt als erster Suchtreffer das hier raus:
https://smartbear.com/product/aqtime-pro/overview/
oder mit Trial noch als Suchbegriff dazu:
https://support.smartbear.com/more-i...me/trial-info/

Da gibt es allein auf der ersten Website vier Buttons ("Start My Free Trial", "Try AQTime Pro", "Try AQTime Pro Free", "Start a Free Trial") die alle nach Eingabe deiner Daten dir die Möglichkeit bieten, eine zeitlich begrenzte, aber vollfunktionsfähige Trial-Version runterzuladen (7 Tage).

Da gibt es neben einigen älteren, aber noch immer gültigen, Tutorial-Videos:
https://www.youtube.com/playlist?lis...F45D306F75252E
auch noch die die Dokumentation:
https://support.smartbear.com/aqtime...ampaign=supnav

Vielleicht arbeitest du ein paar der Dokumentationsseiten durch, verschaffst dir einen Überblick und startest dann morgen mit der Trial.

Geändert von TiGü (10. Feb 2021 um 11:19 Uhr)
  Mit Zitat antworten Zitat
CodeX

Registriert seit: 30. Okt 2004
475 Beiträge
 
Delphi 12 Athens
 
#8

AW: Ursache für dauerhafte CPU-Auslastung finden

  Alt 10. Feb 2021, 11:19
Die Herstellerseite und dessen verschiedene Produktvarianten habe ich natürlich als erstes gesehen. Aber ich habe beim Weitersuchen auch gesehen, dass eine spezielle Version kostenlos bei der Delphi-Lizenz dabei ist. Wäre es nicht sinnvoller, die kostenfreie dauerhafte Version zu intallieren als eine 7-Tage-Trial? Da ich diese aus unbekannten Gründen nirgends finden kann, hatte ich die Hoffnung, dass hier jemand weiß, wo diese zu finden ist. Wie gesagt finde ich diese nicht im GetIt und bei den Embarcadero Downloads ist diese nur bis Version XE8 vorhanden. Irgendetwas scheine ich zu übersehen, daher die Frage. Wenn auch hier keiner weiter weiß, kann ich die Trial immer noch für diesen speziellen Fall versuchen (und nach einer Woche nie wieder verwenden können...).
Nur Delphi schafft es, einem ein Lächeln zu schenken, wenn man sich beim Schreiben von := vertippt und stattdessen ein :) erscheint.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.630 Beiträge
 
Delphi 12 Athens
 
#9

AW: Ursache für dauerhafte CPU-Auslastung finden

  Alt 10. Feb 2021, 12:25
Ist das Projekt zufällig ein MDI-Projekt und verwendet Actions?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
CodeX

Registriert seit: 30. Okt 2004
475 Beiträge
 
Delphi 12 Athens
 
#10

AW: Ursache für dauerhafte CPU-Auslastung finden

  Alt 10. Feb 2021, 14:45
Ist das Projekt zufällig ein MDI-Projekt und verwendet Actions?
Nein, "leider" nicht.

Standard Version -> intergiert sich in IDE -> schlecht!
Trial/Pro Version -> kann, muss sich nicht integrieren -> gut!
von extern kompilierte Programm analysieren -> Ja!
die direkten Code-Stellen ausfindig zu machen -> geht mit der Pro Version. Man sagt über die Programmoptionen, wo die Quelltext-Dateien liegen und dann gibt's die zeilenweise Analyse.
Ist das dann optional und sollte bei der Installation deaktiviert werden? -> Ja!
Danke, dann werde ich das mal so machen und mich vorher erstmal zu AQTime einlesen. Hoffentlich komme ich damit auf den Grund.

Falls jemand noch einen anderen Ansatz weiß, was man z.B. direkt mit der Delphi IDE versuchen könnte, gerne her damit!
Oder wenn jemand noch eine Idee hat, was es mit der Stack-Info "TMethodImplementationIntercept" im Process Explorer auf sich haben könnte, auch gerne mitteilen.
Danke!
Nur Delphi schafft es, einem ein Lächeln zu schenken, wenn man sich beim Schreiben von := vertippt und stattdessen ein :) erscheint.
  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 16:51 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