![]() |
Debugger: Wait Chain
Liste der Anhänge anzeigen (Anzahl: 1)
Mir fehlt das Windows-Allgemeinwissen. Wahrscheinlich ist die einfache Antwort "Nein".
Neulich hing meine Applikation. Ein WinAPI-Aufruf blockierte. Ich wusste nicht, warum. Die Spalte "Wait Chain" im "Thread-Status"-Fenster des Debuggers erzählte mir allerdings, dass es daran liegt, dass ein
Delphi-Quellcode:
an ein Fenster des Prozesses X, Thread Y aussteht. Das war eine großartige und extrem effektive Hilfe.
SendMessage
Kann ich so etwas auch? Dass, hielte man die Anwendung an, im Debugger eine Beschreibung sehen kann, was meine Threads grade so machen? Ob sie grade schlafen oder blockieren? Ich habe leider kein Bildschirmfoto gemacht. Im Anhang etwas gestelltes. |
AW: Debugger: Wait Chain
SendMessage ist eine blockierende Funktion. (PostMessage blockiert nicht, sondern platziert die Message nur in die Messagequeue)
Sie kehrt nicht eher zurück als dass die gesendete Message von Handler des Zielfensters bearbeitet wurde. Solange dein Hauptthread nicht läuft werden keine Messages verarbeitet und SendMessage blockiert. Sollte der Hauptthread seinerseits gerade auf den Thread (oder einen anderen Thread der gerade pausiert) warten ergibt sich ein Deadlock. |
AW: Debugger: Wait Chain
Danke für die Antwort :-)
Das mit SendMessage/PostMessage und allem habe ich verstanden. Mir ging es darum, rein für den Entwickler im Debugger anzeigen zu können "Dieser Thread macht gerade Spinlock weil ..." oder "Dieser Thread blockiert weil er auf Daten vom ComPort wartet". Wie im Bild. |
AW: Debugger: Wait Chain
Noch jemand eine Idee?
|
AW: Debugger: Wait Chain
In
![]() wird unter anderem aufgelistet welche Objekte in WTC erscheinen können: Zitat:
|
AW: Debugger: Wait Chain
Exzellent, das bringt mich weiter. Vielen Dank :thumb:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:28 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