Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Delphi und Programm > Programm hängt sich auf (https://www.delphipraxis.net/157321-delphi-und-programm-programm-haengt-sich-auf.html)

ibp 7. Jan 2011 15:18

Delphi und Programm > Programm hängt sich auf
 
Hi,

seit einiger Zeit plagt mich ein Problem. Ein Programm bei dem zur Laufzeit einige Tabs und Grids erstellt werden hängt sich das Programm bei der Erstellung irgendeines Grids auf.

Leider lässt es sich nicht genau auf ein Grid reproduzieren, es ist jedes mal ein anderes. Folge ist, dass man nur noch per Task-Manager den Prozess killen kann. Es geht dann aber so weit, dass ein Explorer-Prozess auf eine CPU-Last von 50% steigt. Dabei ist es unerheblich ob ich aus Delphi heraus das Programm starte oder nicht.

Mittel debuggen gelingt es nicht den Fehler zu reproduzieren. Starte ich mein Programm neu funktioniert es und es kommt nicht mehr zum Aufhänger.

Mir fehlen mittlerweile die Ideen, woran das Problem hängen könnte.

Komischer Weise passiert das nur auf dem Entwicklungsrechner. Auf allen anderen lässt sich das Verhalten nicht provozieren.

Kennt jemand ein ähnliches Verhalten oder kann mir Tipps geben wie ich den Punkt debuggen kann? Selbst EurekaLog springt nicht an!

Danke schon mal für etwaige Antworten.

MfG

IbP

p80286 7. Jan 2011 16:54

AW: Delphi und Programm > Programm hängt sich auf
 
Das klingt sehr nach Zugriffen auf nicht initialisierte Datenbereiche.
Oder besser, die Initialisierung ist nicht in allen Fällen gleich.

Ich weiß hört sich nach "ist der Stecker drin" an, Aber soll schon mehrere Male vorgekommen sein.

Und überprüf das vollständige Programm, nicht nur den Teil wo Du Deine Grids produzierst.

Gruß
K-H

SirThornberry 7. Jan 2011 16:58

AW: Delphi und Programm > Programm hängt sich auf
 
Wenn es beim Start über den Debugger nicht klappt baue einfach mal eine Funktion ein welche dir vor dem eigentlichen Start etwas Zeit verschafft. In dieser Zeit kannst du dann dein Delphi mit dem extern gestartetem Prozess verbinden und debuggen. Oftmals hilft das Fehler zu finden die nur kommen wenn man ein Programm außerhalb des Debuggers laufen lässt.

ibp 7. Jan 2011 18:40

AW: Delphi und Programm > Programm hängt sich auf
 
Zitat:

Zitat von p80286 (Beitrag 1073080)
Das klingt sehr nach Zugriffen auf nicht initialisierte Datenbereiche.
Oder besser, die Initialisierung ist nicht in allen Fällen gleich.

Ich weiß hört sich nach "ist der Stecker drin" an, Aber soll schon mehrere Male vorgekommen sein.

Und überprüf das vollständige Programm, nicht nur den Teil wo Du Deine Grids produzierst.

das komische ist ja das es auf anderen Rechner problemlos läuft!

Zitat:

Zitat von SirThornberry (Beitrag 1073082)
Wenn es beim Start über den Debugger nicht klappt baue einfach mal eine Funktion ein welche dir vor dem eigentlichen Start etwas Zeit verschafft. In dieser Zeit kannst du dann dein Delphi mit dem extern gestartetem Prozess verbinden und debuggen. Oftmals hilft das Fehler zu finden die nur kommen wenn man ein Programm außerhalb des Debuggers laufen lässt.

es klappt ja immer, das ist ja das Problem, nur wenn ich zeilenweise debugge funktioniert es nicht.

stahli 7. Jan 2011 19:16

AW: Delphi und Programm > Programm hängt sich auf
 
Dann würde ich mal testweise installierte Tools und Komponenten entfernen.
Diese können ja unerwartete Seiteneffekte haben.

Als ich noch eine FlickerReduce.pas (o.ä.) in Nutzung hatte, wurden einige Formulare der IDE nicht korrekt gezeichnet. Das hatte ich zuerst als Bug im Delphi interpretiert.

p80286 7. Jan 2011 20:40

AW: Delphi und Programm > Programm hängt sich auf
 
Zitat:

Zitat von ibp (Beitrag 1073101)
das komische ist ja das es auf anderen Rechner problemlos läuft!

Und was ist mit gleichem Rechner und anderem Benutzer?
ggf. andere Rechte?

Gruß
K-H

ibp 8. Jan 2011 08:48

AW: Delphi und Programm > Programm hängt sich auf
 
Zitat:

Zitat von stahli (Beitrag 1073111)
Dann würde ich mal testweise installierte Tools und Komponenten entfernen.
Diese können ja unerwartete Seiteneffekte haben.

In der betreffenden Unit sind nur Tools und Kompos die ich auch in den anderen Units benutze, die haben und machen bisher keine Probleme gemacht. Es werden auch keine dlls oder sonstiges externes geladen.

Zitat:

Zitat von p80286 (Beitrag 1073143)
..Und was ist mit gleichem Rechner und anderem Benutzer? ggf. andere Rechte?

gute Idee -> kein Problem, Fehler lässt sich nicht provozieren im anderen Account.

aber irgend etwas muss es doch sein... :cry:

p80286 8. Jan 2011 11:06

AW: Delphi und Programm > Programm hängt sich auf
 
Also dann mit System.
Der Fehler tritt nur auf dem Entwicklungsrechner/Entwicklerkonto auf.

Aufhängen könnte ja auch eine Endlosschleife bedeuten?
Wenn die Explorer.exe so fleißig wird, hast Du mal den Filemon bemüht?
Holst Du Dir Daten über das Netz?
Liest Du die Registry aus?

was passiert wenn Du mal 5,10,60 min wartest?

Könnte es sein, das irgendwo ein Fenster aufgeht, was Du nicht siehst?

Gruß
K-H

ibp 8. Jan 2011 13:34

AW: Delphi und Programm > Programm hängt sich auf
 
Zitat:

Zitat von p80286 (Beitrag 1073208)
...Aufhängen könnte ja auch eine Endlosschleife bedeuten?
Wenn die Explorer.exe so fleißig wird, hast Du mal den Filemon bemüht?
Holst Du Dir Daten über das Netz?
Liest Du die Registry aus?

was passiert wenn Du mal 5,10,60 min wartest?

Könnte es sein, das irgendwo ein Fenster aufgeht, was Du nicht siehst?...

also filemon zeigt nach dem aufhängen keinerlei Requests mehr.
wenn ich dann auf das Fenster schliessen Kreuz drücke dann das...

Code:
14:07:17   MyProgram.exe:880   CLOSE   D:\Programmierung\Delphi Projects\MyProgram\MyProgram 4.3.2.08\Bin   SUCCESS      
14:07:17   MyProgram.exe:880   CLOSE   C:\WINDOWS\WinSxS\x86_Microsoft.Windows.GdiPlus_6595b64144ccf1df_1.0.6001.22319_x-ww_f0b4c2df   SUCCESS      
14:07:17   MyProgram.exe:880   CLOSE   C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.6028_x-ww_61e65202   SUCCESS      
14:07:17   MyProgram.exe:880   CLOSE   C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.4053_x-ww_e6967989   SUCCESS      
14:07:17   MyProgram.exe:880   CLOSE   C:\DOKUME~1\ADMINI~1\LOKALE~1\Temp\IswTmp\Logs\ISWSHEX.swl   SUCCESS      
14:07:17   MyProgram.exe:880   OPEN   C:\DOKUME~1\ADMINI~1\LOKALE~1\Temp\IswTmp\Logs\ISWSHEX.swl   SHARING VIOLATION   Options: Open Access: 00100001   
14:07:17   MyProgram.exe:880   OPEN   C:\DOKUME~1\ADMINI~1\LOKALE~1\Temp\IswTmp\Logs\ISWSHEX.swl   SUCCESS   Options: Open Access: 00100001   
14:07:17   MyProgram.exe:880   QUERY INFORMATION   C:\DOKUME~1\ADMINI~1\LOKALE~1\Temp\IswTmp\Logs\ISWSHEX.swl   SUCCESS   Length: 12764   
14:07:17   MyProgram.exe:880   CLOSE   C:\DOKUME~1\ADMINI~1\LOKALE~1\Temp\~DF4546.tmp   SUCCESS      
14:07:17   MyProgram.exe:880   OPEN   C:\DOKUME~1\ADMINI~1\LOKALE~1\Temp\~DF4546.tmp   SUCCESS   Options: Open Access: 00100001   
14:07:17   MyProgram.exe:880   QUERY INFORMATION   C:\DOKUME~1\ADMINI~1\LOKALE~1\Temp\~DF4546.tmp   SUCCESS   FileInternalInformation   
14:07:17   MyProgram.exe:880   CLOSE   C:\PROGRAMME\GEMEINSAME DATEIEN\BORLAND SHARED\BDE\   SUCCESS      
14:07:17   MyProgram.exe:880   CLOSE   C:\DOKUME~1\ADMINI~1\LOKALE~1\Temp\   SUCCESS      
14:07:17   MyProgram.exe:880   CLOSE   C:\DOKUME~1\ADMINI~1\LOKALE~1\Temp\INMEM000.REM   SUCCESS      
14:07:17   MyProgram.exe:880   OPEN   C:\DOKUME~1\ADMINI~1\LOKALE~1\Temp\INMEM000.REM   SUCCESS   Options: Open Access: 00100001   
14:07:17   MyProgram.exe:880   QUERY INFORMATION   C:\DOKUME~1\ADMINI~1\LOKALE~1\Temp\INMEM000.REM   SUCCESS   FileInternalInformation   
14:07:17   MyProgram.exe:880   CLOSE   C:\WINDOWS\FONTS\TAHOMA.TTF   SUCCESS      
14:07:17   ibserver.exe:2328   WRITE   W:\DATENB~1\MyProgram\test\RFR\MyProgram_RFR.GDB   SUCCESS   Offset: 1032192 Length: 8192   
14:07:17   ibserver.exe:2328   QUERY INFORMATION   C:\WINDOWS\system32\Msctf.dll   SUCCESS   Attributes: A   
14:07:17   ibserver.exe:2328   OPEN   C:\WINDOWS\system32\Msctf.dll   SUCCESS   Options: Open Access: 00100020   
14:07:17   ibserver.exe:2328   OPEN   C:\WINDOWS\system32\Msctf.dll   SUCCESS   Options: Open Access: 00100001   
14:07:17   ibserver.exe:2328   QUERY INFORMATION   C:\WINDOWS\system32\Msctf.dll   SUCCESS   FileInternalInformation   
14:07:17   ibserver.exe:2328   QUERY INFORMATION   C:\WINDOWS\system32\Msctf.dll   SUCCESS   Length: 297984   
14:07:17   ibserver.exe:2328   CLOSE   C:\WINDOWS\system32\Msctf.dll   SUCCESS      
14:07:17   ibserver.exe:2328   QUERY INFORMATION   W:\DATENB~1\MyProgram\test\RFR\MyProgram_RFR.GDB   SUCCESS   Length: 91758592   
14:07:17   ibserver.exe:2328   QUERY INFORMATION   C:\WINDOWS\system32\Msctf.dll   SUCCESS   Attributes: A   
14:07:17   ibserver.exe:2328   OPEN   C:\WINDOWS\system32\Msctf.dll   SUCCESS   Options: Open Access: 00100020   
14:07:17   ibserver.exe:2328   OPEN   C:\WINDOWS\system32\Msctf.dll   SUCCESS   Options: Open Access: 00100001   
14:07:17   ibserver.exe:2328   QUERY INFORMATION   C:\WINDOWS\system32\Msctf.dll   SUCCESS   FileInternalInformation   
14:07:17   ibserver.exe:2328   QUERY INFORMATION   C:\WINDOWS\system32\Msctf.dll   SUCCESS   Length: 297984   
14:07:17   ibserver.exe:2328   CLOSE   C:\WINDOWS\system32\Msctf.dll   SUCCESS      
14:07:17   ibserver.exe:2328   CLOSE   W:\DATENB~1\MyProgram\test\RFR\MyProgram_RFR.GDB   SUCCESS      
14:07:17   ibserver.exe:2328   OPEN   W:\DATENB~1\MyProgram\test\RFR\MyProgram_RFR.GDB   SUCCESS   Options: Open Access: 00100001   
14:07:17   ibserver.exe:2328   QUERY INFORMATION   W:\DATENB~1\MyProgram\test\RFR\MyProgram_RFR.GDB   SUCCESS   FileInternalInformation   
14:07:17   ibserver.exe:2328   QUERY INFORMATION   C:\WINDOWS\system32\Msctf.dll   SUCCESS   Attributes: A   
14:07:17   ibserver.exe:2328   OPEN   C:\WINDOWS\system32\Msctf.dll   SUCCESS   Options: Open Access: 00100020   
14:07:17   ibserver.exe:2328   OPEN   C:\WINDOWS\system32\Msctf.dll   SUCCESS   Options: Open Access: 00100001   
14:07:17   ibserver.exe:2328   QUERY INFORMATION   C:\WINDOWS\system32\Msctf.dll   SUCCESS   FileInternalInformation   
14:07:17   ibserver.exe:2328   QUERY INFORMATION   C:\WINDOWS\system32\Msctf.dll   SUCCESS   Length: 297984   
14:07:17   ibserver.exe:2328   CLOSE   C:\WINDOWS\system32\Msctf.dll   SUCCESS
danach geht dann der Explorer auf 50% CPU Last hoch...

was ich aber mit Process Exporer harausfinden konnte ist.. die 50% liegen bei USWE32.dll!CreateSystemThreads und der Stack für diesen Thread zeigt mir...
ntoskrnl.exe+0x584d
ntoskrnl.exe!IoPageRead+0xaed
hal.dll+0x2ef2


...ansonsten ich lese weder die Registry noch hole ich daten aus dem Netz, ich kann den Rechner so einen Tag lang stehen lassen und es passiert nichts!

ich werde wohl irgendwann die Nase voll haben und einfach format c: tippen :stupid:

p80286 10. Jan 2011 14:07

AW: Delphi und Programm > Programm hängt sich auf
 
[QUOTE=ibp;1073239wenn ich dann auf das Fenster schliessen Kreuz drücke dann das...
[/QUOTE]

Tut mir leid, da fällt mir jetzt auch nichts vernünftiges mehr zu ein,
nur wenn du das Programm noch auf "normalem Wege" beenden kannst, dann hat es sich ja eigentlich nicht aufgehängt!?

Sehr seltsam!

Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:37 Uhr.
Seite 1 von 2  1 2      

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