Figer et libérer des threads dans le débogueur

De RAD Studio (Français)

Votre application à thread nécessite d'être arrêtée dans le débogueur avant que vous ne puissiez figer et libérer des threads individuels. Vous pouvez arrêter l'application de plusieurs façons, notamment la suivante :

  • Définissez des points d'arrêt, puis choisissez Exécuter > Exécuter ou Exécuter > Pas à pas.
  • Appuyez sur le bouton PausePauseButton.bmp sur l'EDI lors de l'exécution de l'application.
  • L'exception qui se produit arrête l'application.


Pour figer un thread dans le débogueur

  1. Ouvrez la fenêtre Threads en sélectionnant Voir > Fenêtres de débogage > Threads.
  2. Dans la fenêtre Threads, cliquez avec le bouton droit sur le thread à geler.
  3. Dans le menu contextuel, sélectionnez la commande qui s'applique à votre situation :
    • Figer - fige le thread sélectionné
    • Figer tous les autres threads - fige tous les autres threads, mais pas le thread sélectionné


Pour libérer un thread dans le débogueur

  1. Ouvrez la fenêtre Etat des threads en sélectionnant Voir > Fenêtres de débogage > Threads.
  2. Dans la fenêtre Threads, cliquez avec le bouton droit sur le thread gelé que vous voulez libérer. L'état doit être Gelé.
  3. Dans le menu contextuel, sélectionnez la commande qui s'applique à votre situation :
    • Libérer - libère le thread sélectionné
    • Libérer tous les threads - libère tous les threads, y compris le thread sélectionné


Pour figer et libérer les threads en utilisant le projet démo THRDDEMO

Le projet thrddemo contient trois threads nommés (TBubbleSort, TQuickSort et TSelectionSort).

  1. Choisissez Démarrer | Tous les programmes | Embarcadero RAD Studio | Démos.
  2. Ouvrez la démo thrddemo.dproj (située dans DelphiWin32\VCLWin32\Threads).
  3. Dans le gestionnaire de projets, ouvrez le fichier SortThds.pas.
  4. Dans l'éditeur de code, recherchez (Ctrl+F) la ligne de code suivante :
Sort(Slice(FSortArray^, FSize));
  1. Cliquez dans la gouttière grise pour définir un point d'arrêt (Breakpoint.bmp) sur cette ligne de code.
  2. Appuyez sur F9 ou choisissez Exécuter > Exécuter pour exécuter le programme.
  3. Dans la fenêtre Thread Sorting Demo, cliquez sur Start Sorting. Le traitement s'arrête à la ligne contenant le point d'arrêt.
  4. Ouvrez la fenêtre Etat des threads avec Voir > Fenêtres de débogage > Threads ou Ctrl+Alt+T.
  5. Notez que le thread nommé TBubbleSort est à l'état Arrêté avec le statut défini sur PointArrêt.
  6. Appuyez de nouveau sur F9, et notez que le thread TQuickSort a été créé et qu'il est dans le même état que TBubbleSort.
  7. Appuyez de nouveau sur F9, et notez que le thread TSelectionSort a été créé et qu'il est dans le même état que les deux autres threads.

Vous pouvez maintenant figer un des threads et exécuter les autres threads pour expérimenter l'opération geler. Dès qu'un thread a été gelé, vous pouvez le libérer.


Voir aussi

Autres langues