Documentation1.0 (latest)
PagesDébogage · 21 / 29

Débogage

L'IDE peut exécuter votre code Python sous un débogueur afin que vous puissiez vous arrêter sur une ligne et inspecter la pile d'appels et les variables. Il existe deux modes de débogage, tous deux lancés depuis la barre d'outils de débogage.

ModeCe qu'il exécute
Debug RunExécute directement le fichier Python courant sous le débogueur. Toujours disponible lorsqu'un fichier est ouvert.
Debug TestExécute votre stratégie sur des barres historiques (un backtest) sous le débogueur. N'apparaît que lorsque le fichier actif est une stratégie qui implémente les rappels de backtest.

Debug Test ouvre d'abord la fenêtre de configuration du backtest, puis lance l'exécution. Il ne prend en charge qu'un seul backtest — pas les balayages d'optimisation — et uniquement une source Selected symbols (pas un Screener). Il lit les données fondamentales exactement comme un backtest, y compris la règle de la date de dépôt, de sorte que ce que vous inspectez correspond à ce que verrait une exécution Test.

La barre d'outils de débogage est masquée pendant que QuantCraft AI contrôle l'IDE ; elle revient à la fin de la session d'IA. Pour savoir comment ces modes se rapportent à l'exécution normale, voir Exécution du code et Backtests.


Définir des points d'arrêt

  • Cliquez dans la gouttière à gauche des numéros de ligne pour activer ou désactiver un point d'arrêt sur cette ligne ; cliquez à nouveau pour le supprimer.
  • Les points d'arrêt sont propres à chaque fichier et sont collectés depuis tous vos onglets ouverts au démarrage d'une session.
  • La gouttière n'est cliquable que lorsque rien ne s'exécute — définissez vos points d'arrêt avant de lancer une exécution.

Démarrer une session

  • La première fois que vous démarrez une session de débogage, un avertissement d'exécution s'affiche une seule fois (vous pourrez l'ignorer la fois suivante).
  • Debug Run nécessite un fichier ouvert. Debug Test apparaît lorsque l'onglet actif est un fichier .py qui définit des rappels de stratégie reconnus par l'IDE (on_init / on_bar / on_finish) ; il ne nécessite pas de compte de trading chez un courtier actif. Les données B2 / QuantCraft utilisent votre connexion QC lorsque c'est nécessaire.
  • Le moteur de backtest exige toujours un on_tick appelable (ainsi que les autres rappels requis). Si on_tick est absent, Debug Test peut s'afficher dans la barre d'outils, mais l'exécution échoue au démarrage du backtest.
  • Une seule session de débogage s'exécute à la fois, et le débogage est bloqué pendant qu'un Run ou un backtest normal est en cours.

Commandes

La barre d'outils affiche des commandes selon l'état de la session.

CommandeQuandCe qu'elle fait
StopPendant l'exécutionMet fin à la session de débogage.
ContinueEn pauseReprend jusqu'au prochain point d'arrêt.
Step OverEn pauseExécute la ligne courante en restant dans la même fonction.
Step IntoEn pauseEntre dans l'appel de fonction de la ligne courante.
Step OutEn pauseExécute jusqu'au retour de la fonction courante.
Step BarEn pause (Debug Test uniquement)Avance le backtest d'une bougie.

Il n'y a pas de Restart — pour redémarrer, arrêtez la session puis cliquez de nouveau sur Debug Run / Debug Test.


Ce que vous voyez en pause

  • L'éditeur saute au fichier en pause et met en surbrillance la ligne en pause.
  • Un sous-onglet Debug s'ouvre dans le panneau de sortie avec deux volets :
    • Call Stack — la chaîne des cadres, chacun indiquant un nom de fonction et fichier:ligne. Cliquez sur un cadre pour inspecter ses variables.
    • Variables — regroupées par portée (Locals, Globals, Closure, etc.). Chaque variable affiche son nom, son type et sa valeur ; les objets et les listes se déploient pour révéler leur contenu.
  • Dans Debug Test, une bannière de contexte d'étape indique votre position dans le backtest, par ex. Bar 12 / 240 · AAPL · <time> · O … H … L … C ….
  • La sortie du programme s'affiche dans le panneau de sortie comme d'habitude.

Limitations

  • Pas de panneau de surveillance ni d'évaluateur d'expressions — uniquement Call Stack et Variables.
  • Pas de commande Restart (arrêtez puis relancez).
  • Debug Test ne gère qu'un seul backtest — il ne peut pas déboguer une exécution d'optimisation.
  • Pas de source de symboles Screener — Debug Test s'arrête avec Debug test doesn't support a Screener symbol source …. Passez à Selected symbols et choisissez quelques symboles.
  • Debug Test exige que l'onglet actif soit un fichier de stratégie .py avec les rappels de backtest ; un simple script n'obtient que Debug Run.
  • La visibilité de Debug Test dans la barre d'outils ne vérifie pas la présence de on_tick ; c'est le moteur qui le fait.

Voir aussi

Débogage — Documentation (1.0 (latest)) | QuantCraft