AGB  ·  Datenschutz  ·  Impressum  







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

Wo bleibt mein Programm hängen?

Ein Thema von Nersgatt · begonnen am 7. Jun 2017 · letzter Beitrag vom 7. Jun 2017
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
693 Beiträge
 
Delphi 10.1 Berlin Professional
 
#1

Wo bleibt mein Programm hängen?

  Alt 7. Jun 2017, 10:13
Moin,

ich habe das Problem, dass mein Programm manchmal an einer bestimmten Stelle einfriert. Leider kann ich das Problem nicht zuverlässig reproduzieren.
Nun versuche ich raus zu bekommen, an welcher Stelle es hakt. Wenn das Programm einfriert, kann ich in der IDE auf den Pause-Button klicken. Die IDE springt dann in die CPU-Ansicht. Nun muss ich zugeben, dass mich mich damit so überhaupt nicht auskenne.
Wie kann ich in solchen Situationen die Stelle einkreisen, an der mein Problem liegt?

Danke!
Jens
Jens
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

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

AW: Wo bleibt mein Programm hängen?

  Alt 7. Jun 2017, 10:13
Was sagt der Callstack?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
693 Beiträge
 
Delphi 10.1 Berlin Professional
 
#3

AW: Wo bleibt mein Programm hängen?

  Alt 7. Jun 2017, 10:15
Leider überhaupt nichts...
Miniaturansicht angehängter Grafiken
unbenannt.jpg  
Jens
  Mit Zitat antworten Zitat
Der schöne Günther
Online

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

AW: Wo bleibt mein Programm hängen?

  Alt 7. Jun 2017, 10:38
Dumme Frage: Ist das auch wirklich der richtige Thread?
  Mit Zitat antworten Zitat
Benutzerbild von Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
693 Beiträge
 
Delphi 10.1 Berlin Professional
 
#5

AW: Wo bleibt mein Programm hängen?

  Alt 7. Jun 2017, 10:42
Das weiß ich ehrlich gesagt nicht. Es könnte durchaus sein, dass er an der Stelle in einem Thread hängen bleibt. Da gibt es durchaus mehrere Stellen, wo ich z.B. TMonitor.Enter verwende. Die Stellen hatte ich auch schon in Verdacht. Aber es ist halt nur ein Verdacht.

Ich hab gehofft, dass die IDE mir noch Werkzeuge an die Hand gibt, um die Stelle genauer einzukreisen.
Jens
  Mit Zitat antworten Zitat
Der schöne Günther
Online

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

AW: Wo bleibt mein Programm hängen?

  Alt 7. Jun 2017, 10:45
So viele Threads werden es doch nicht sein. Schau dir doch für jeden mal den Callstack an. Der erste ist doch bei einer VCL-Anwendung in der Regel der Hauptthread.
  Mit Zitat antworten Zitat
Benutzerbild von Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
693 Beiträge
 
Delphi 10.1 Berlin Professional
 
#7

AW: Wo bleibt mein Programm hängen?

  Alt 7. Jun 2017, 10:48
Schau dir doch für jeden mal den Callstack an.
Vielleicht ist das eine doofe Frage, aber wie geht das? Kann ich den Moment die Ansicht des Callstacks auf einen anderen Thread umschalten?
Jens
  Mit Zitat antworten Zitat
Benutzerbild von Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
693 Beiträge
 
Delphi 10.1 Berlin Professional
 
#8

AW: Wo bleibt mein Programm hängen?

  Alt 7. Jun 2017, 11:22
Ah, gefunden. Man geht auf Ansicht -> Debug-Fenster -> Threads.
Dann kann man die Threadliste durchklicken.

Vielen Dank, dass Du mich in die richtige Richtung geschubst hast.
Jens
  Mit Zitat antworten Zitat
SneakyBagels
(Gast)

n/a Beiträge
 
#9

AW: Wo bleibt mein Programm hängen?

  Alt 7. Jun 2017, 11:31
Eine Empfehlung noch.
Verwende statt TMonitor.Enter doch besser CriticalSections. Wenn mehrere Threads auf dieselben Daten zugreifen (schreibend), dann natürlich eine globale CriticalSection.
CS sind weitaus performanter als TMonitor

Siehe auch hier TMonitor vs TRTLCriticalSection
  Mit Zitat antworten Zitat
Benutzerbild von Nersgatt
Nersgatt

Registriert seit: 12. Sep 2008
Ort: Emlichheim
693 Beiträge
 
Delphi 10.1 Berlin Professional
 
#10

AW: Wo bleibt mein Programm hängen?

  Alt 7. Jun 2017, 11:34
Ich hab mich aufgrund dieses Postings für den TMonitor entschieden:
http://www.delphipraxis.net/1370333-post8.html

Die Performanceprobleme scheinen seit XE5 nicht mehr zu bestehen.
Jens
  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 11:39 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