![]() |
Delphi 2010, Debugger friert das gesamte System ein (Win7 x64)
Moin,
Dinge gibt's ... ich habe hier ein Projekt, das mein System regelmäßig und reproduzierbar komplett einfriert, wenn ich es unter dem Delphi-Debugger ausführe. Starte ich meine Anwendung aus der IDE heraus jedoch mit der Option "Ohne Debugger ausführen", läuft alles wie gewünscht und ich bekomme auch weit und breit keine Fehlermeldung. Ich habe versucht, mit FastMM und madExcept eventuelle Fehler zu entdecken, aber nein - alles läuft glatt. Mein Problem besteht darin, dass ich derzeit keinen Anhaltspunkt finde, wo ich die Ursache des Problems suchen könnte. Das Projekt installiert eine DLL mit einem systemweiten Maus-Hook und schmiert an der Stelle ab, an der die DLL das Hauptprogramm mittels SendMessage() über Änderungen informiert. Zuerst dachte ich, dass die Anzahl an Meldungen vielleicht ein wenig viel des Guten wären, aber auch wenn ich nur Clicks und keine Mausbewegungen an das Hauptprogramm melde, schmiert der ganze Kram ab. Dann vermutete ich einen Deadlock oder dgl., da SendMessge() ja wartet, bis die Meldung verarbeitet wurde. Aber auch ein PostMessage() als Alternative bringt keinen Erfolg. Hat jemand eine Idee, wo ich ansetzen könnte? (Ich meine ... falls mir jemand die exakte Zeilennummer meines Projektes nennen kann, die den Fehler verursacht, nehme ich das auch gern. *g*) |
AW: Delphi 2010, Debugger friert das gesamte System ein (Win7 x64)
Läuft irgendeine Logitech-Software?
|
AW: Delphi 2010, Debugger friert das gesamte System ein (Win7 x64)
Tja, durch diese vielen Code-Zeilen muss sich ja erst mal einer durchkämpfen :mrgreen:
|
AW: Delphi 2010, Debugger friert das gesamte System ein (Win7 x64)
Zitat:
|
AW: Delphi 2010, Debugger friert das gesamte System ein (Win7 x64)
Deaktiviere trotzdem testweise mal die Logitechdienste. Diese hooken ja auch übelst
|
AW: Delphi 2010, Debugger friert das gesamte System ein (Win7 x64)
Zitat:
|
AW: Delphi 2010, Debugger friert das gesamte System ein (Win7 x64)
Ich werde den Logitech-Kram nach dem Essen mal de-installieren.
|
AW: Delphi 2010, Debugger friert das gesamte System ein (Win7 x64)
Zitat:
also die DLLs, welche überall injeziert werden, denn der Rest der Software war teilweise ganz nützlich. (Sondertasten und die Batterieanzeige) Dazu hab ich die DLLs erstmal über einen FileUnlocker freigegeben, dann über die Sicherheitsrechte allen den Zugriff verweigert. Bloses Löschen hilft nix, da der Updater (oder Sonstwas) diese Dateien sonst wiederherstellt. |
AW: Delphi 2010, Debugger friert das gesamte System ein (Win7 x64)
ei, ei ... da war nicht Logitech Schuld, sondern Herr Wolf war's. :roll:
In meiner DLL hatte ich bei einer Bit-Manipulation nicht richtig aufgepasst und einen Wert in ein Byte pressen wollen, der da offenbar nicht so recht reinpasste. Es ist überraschend, dass die Kombination "Debugger, Hooks, DLLs in fremden Prozessen und Arithmetikfehler" eine derart fatale Kette auslösen können und damit selbst Windows 7 in die Knie zwingen. (Wenngleich das System selbst wohl noch lief und ich "nur" das gesamte Message-Handling verstopft habe.) |
AW: Delphi 2010, Debugger friert das gesamte System ein (Win7 x64)
Deswegen, Hooks vermeiden wo es nur irgendwie geht. Es gibt schon genug Programme, die das System unnötig mit Hooks belasten und wenn diese dann noch fehlerhaft sind, kann es schnell ganz übel werden.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 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