AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Programm und IDE frieren ein. Nur durch Neustart zu beheben
Thema durchsuchen
Ansicht
Themen-Optionen

Programm und IDE frieren ein. Nur durch Neustart zu beheben

Ein Thema von Oracle · begonnen am 18. Aug 2011 · letzter Beitrag vom 18. Aug 2011
Antwort Antwort
Oracle
(Gast)

n/a Beiträge
 
#1

Programm und IDE frieren ein. Nur durch Neustart zu beheben

  Alt 18. Aug 2011, 16:43
Delphi-Version: 2007
Ich habe zur Zeit foldendes Verhalten in meiner Software für welches ich die Ursache nicht finden kann:

Das Programm an dem ich zur Zeit arbeite friert seit einigen Tagen sehr regelmässig ein. Das geschieht so, dass ich auch die IDE nicht mehr bedienen kann. Die Auslastung des PCs ist laut Taskmanager aber grade mal um die 5%.
Ich arbeite in meinem Programm mit mehreren Threads um eine Kamera auszulesen und die Bilddaten anzuzeigen.

Die Darstellung der Daten friert ebenso ein. Ich kann keine Buttons mehr drücken. Andere offene Programme wie den Firefox kann ich manchmal nebenbei noch aufrufen und auch bedienen.
Wenn ich dann die Delphi IDE über den Prozessmanager kille, dann geht diese zwar aus, allerdings nicht mein Programm.
Das Fenster meines Programms ist zwar nicht mehr sichtbar, aber im Taskmanager steht der Prozess noch drin. Diesen bekomme ich auch nicht gestoppt. Ich muss den Rechner erst neu booten, um den Prozess zu killen. Das ist sehr nervig, wenn man den Rechner ständig neu booten muss.

Hat irgendjemand eine Idee in welcher Richtung ich suchen kann. Kann ein Thread das Programm so blockieren?
Vielleicht sehe ich grad vor lauter Verzweiflung den Wald vor lauter Bäumen nicht.
Auf jeden Fall würde ich mich sehr freuen, wenn mir jemand weiterhelfen könnte.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.619 Beiträge
 
Delphi 12 Athens
 
#2

AW: Programm und IDE frieren ein. Nur durch Neustart zu beheben

  Alt 18. Aug 2011, 16:47
Hast Du evtl. Deadlocks eingebaut? Zumindest klingt es nach etwas in dieser Richtung.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
bernerbaer
(Gast)

n/a Beiträge
 
#3

AW: Programm und IDE frieren ein. Nur durch Neustart zu beheben

  Alt 18. Aug 2011, 17:15
..Kann ein Thread das Programm so blockieren?
...
Ja kann er! Wie schon DeddyH gesagt hat, das sieht sehr nach einem Deadlock aus.
Bsp.: Du schickst einen Thread schlafen (Suspend) während er in einer Critical Section ist und der Hauptthread will auch auf die Critical Section zugreifen-> typischer Deadlock.
  Mit Zitat antworten Zitat
Oracle
(Gast)

n/a Beiträge
 
#4

AW: Programm und IDE frieren ein. Nur durch Neustart zu beheben

  Alt 18. Aug 2011, 17:29
Ok, in die Richtung hatte ich auch schon gedacht. Mich hat die geringe CPU Auslastung stutzig gemacht. Ein Deadlock würde also die CPU Last nicht in die Höhe treiben?
  Mit Zitat antworten Zitat
bernerbaer
(Gast)

n/a Beiträge
 
#5

AW: Programm und IDE frieren ein. Nur durch Neustart zu beheben

  Alt 18. Aug 2011, 17:54
Richtig, Bei meinem Beispiel stellt der Scheduler von Windows fest, dass ein Thread innerhalb einer Critical Section ist und sperrt nun den Zugriff auf diese Section (auch wenn der Thread nun schläft) für den Hauptthread -> der Deadlock ist da und aufwecken kannst du den Thread mit normalen Mitteln auch nicht mehr.
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#6

AW: Programm und IDE frieren ein. Nur durch Neustart zu beheben

  Alt 18. Aug 2011, 17:58
Teste das Programm doch mal ohne FIREFOX zu starten. Vielleicht liegt es an JAVA oder ADOBE FLASH PLAYER. Das ist alles schrottig programmiert!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Programm und IDE frieren ein. Nur durch Neustart zu beheben

  Alt 18. Aug 2011, 20:54
..Kann ein Thread das Programm so blockieren?
...
Ja kann er! Wie schon DeddyH gesagt hat, das sieht sehr nach einem Deadlock aus.
Bsp.: Du schickst einen Thread schlafen (Suspend) während er in einer Critical Section ist und der Hauptthread will auch auf die Critical Section zugreifen-> typischer Deadlock.
Noch typischer:

Man läuft in einem Thread in eine CriticalSection,
syncronisiert sich in den Hauptthread
und will dort ebenfalls in diese CriticalSection rein.

> Der Hauptthread wartet nun auf die Freigabe der CS und der andere Thread wartet auf den Haupthread.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort


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 10:28 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