Einzelnen Beitrag anzeigen

Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.337 Beiträge
 
Delphi 11 Alexandria
 
#1

Grundsatzfrage Debuggen mit aktiven Threads

  Alt 4. Feb 2021, 09:24
Ich würde gern so eine Art Live-Debugging realisieren.
Dazu übertrage ich bestimmte Daten meiner Anwendung über TCP an ein lauschendes Programm.
Das funktioniert soweit.

Jetzt möchte ich das auch während dem Debuggen nutzen, bin aber nicht sicher, ob und wie das geht.


Kleines und verkürztes Gedankenexperiment:

In TForm.OnCreate läuft ein Zähler I (globale Variable) von 0 bis MaxInt hoch, mehr nicht.

Zusätzlich gibt es 3 Threads.

TThreadBeep: Beept jede Sekunde
TThreadC: Zählt einen eigenen Counter hoch und versendet den über TCP
TThreadI: Übernimmt (synchronisiert?) den Wert aus der obigen I-Schleife und versendet den.

Das sollte soweit funktionieren.
Während der Zähler hochzählt piepst die Anwendung jede Sekunde und das lauschende Programm erhält neue Werte für C und I.

Ein Breakpoint in der I-Schleife hält aber auch die 3 Threads an.

Gibt es eine Möglichkeit, diese weiter laufen zu lassen?
Ich möchte also weiter die Beeps jede Sekunde, den hochzählenden Counter C und "den aktuellen Wert aus I".
Die Threads Beep und C sollen also unbeeindruckt weiter laufen und I soll während des Debuggens immer weiter den aktuellen Wert verschicken.

Erst wenn ich mit F8 schrittweise weiter debugge, müsste also im beobachtenden Programm dann beim jeweils nächsten Schleifendurchlauf der nächste I-Wert angezeigt werden.


Lässt sich so etwas realisieren?
Ich kenne zwar die Threads im Debugfenster, weiß aber (noch) nicht, wie und wie weit man damit umgehen kann.



EDIT: Wenn das so nicht machbar ist, müsste man vermutlich einen Thread in den OTA´s verankern, aber das wäre dann mit Kanonen auf Spatzen...
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)

Geändert von stahli ( 4. Feb 2021 um 09:53 Uhr)
  Mit Zitat antworten Zitat