Documentación1.0 (latest)
PáginasDepuración · 21 / 29

Depuración

El IDE puede ejecutar tu código Python bajo un depurador para que puedas pausar en una línea e inspeccionar la pila de llamadas y las variables. Hay dos modos de depuración, ambos se inician desde la barra de herramientas de depuración.

ModoQué ejecuta
Debug RunEjecuta directamente el archivo Python actual bajo el depurador. Siempre disponible cuando hay un archivo abierto.
Debug TestEjecuta tu estrategia sobre barras históricas (un backtest) bajo el depurador. Solo aparece cuando el archivo activo es una estrategia que implementa los callbacks de backtest.

Debug Test abre primero el cuadro de configuración del backtest y luego ejecuta. Admite un único backtest — no barridos de optimización — y solo una fuente Selected symbols (no un Screener). Lee los datos fundamentales exactamente igual que un backtest, incluida la regla de la fecha de presentación, de modo que lo que inspeccionas coincide con lo que vería una ejecución de Test.

La barra de herramientas de depuración se oculta mientras QuantCraft AI controla el IDE; vuelve cuando termina la sesión de IA. Para saber cómo se relacionan estos modos con la ejecución normal, consulta Ejecución de código y Backtests.


Establecer puntos de interrupción

  • Haz clic en el margen a la izquierda de los números de línea para activar o desactivar un punto de interrupción en esa línea; vuelve a hacer clic para quitarlo.
  • Los puntos de interrupción son por archivo y se recopilan de todas tus pestañas abiertas al iniciar una sesión.
  • El margen solo se puede pulsar cuando no hay nada en ejecución — establece tus puntos de interrupción antes de iniciar una ejecución.

Iniciar una sesión

  • La primera vez que inicies una sesión de depuración verás un aviso de ejecución de una sola vez (podrás omitirlo la próxima vez).
  • Debug Run necesita un archivo abierto. Debug Test aparece cuando la pestaña activa es un archivo .py que define callbacks de estrategia que el IDE reconoce (on_init / on_bar / on_finish); no requiere una cuenta de trading activa en un bróker. Los datos de B2 / QuantCraft usan tu inicio de sesión de QC cuando hace falta.
  • El motor de backtest sigue exigiendo un on_tick invocable (y los demás callbacks requeridos). Si falta on_tick, Debug Test puede mostrarse en la barra de herramientas, pero la ejecución falla cuando empieza el backtest.
  • Solo se ejecuta una sesión de depuración a la vez, y la depuración se bloquea mientras hay un Run o un backtest normal en curso.

Controles

La barra de herramientas muestra controles según el estado de la sesión.

ControlCuándoQué hace
StopMientras se ejecutaTermina la sesión de depuración.
ContinueEn pausaReanuda hasta el siguiente punto de interrupción.
Step OverEn pausaEjecuta la línea actual, permaneciendo en la misma función.
Step IntoEn pausaEntra en la llamada a función de la línea actual.
Step OutEn pausaEjecuta hasta que la función actual retorna.
Step BarEn pausa (solo Debug Test)Avanza el backtest una vela.

No hay Restart: para reiniciar, detén la sesión y vuelve a hacer clic en Debug Run / Debug Test.


Qué ves cuando está en pausa

  • El editor salta al archivo en pausa y resalta la línea en pausa.
  • Se abre una subpestaña Debug en el panel de salida con dos paneles:
    • Call Stack — la cadena de marcos, cada uno con el nombre de una función y archivo:línea. Haz clic en un marco para inspeccionar sus variables.
    • Variables — agrupadas por ámbito (Locals, Globals, Closure, etc.). Cada variable muestra su nombre, tipo y valor; los objetos y las listas se expanden para mostrar su contenido.
  • En Debug Test, un banner de contexto del paso muestra tu posición en el backtest, p. ej. Bar 12 / 240 · AAPL · <time> · O … H … L … C ….
  • La salida del programa se transmite al panel de salida como de costumbre.

Limitaciones

  • No hay panel de inspección ni evaluador de expresiones: solo Call Stack y Variables.
  • No hay control Restart (detén y vuelve a lanzar).
  • Debug Test es solo para un único backtest: no puede depurar una ejecución de optimización.
  • No hay fuente de símbolos Screener — Debug Test se detiene con Debug test doesn't support a Screener symbol source …. Cambia a Selected symbols y elige unos pocos tickers.
  • Debug Test requiere que la pestaña activa sea un archivo de estrategia .py con los callbacks de backtest; un script simple solo obtiene Debug Run.
  • La visibilidad de Debug Test en la barra de herramientas no comprueba on_tick; lo comprueba el motor.

Véase también

4 min de lecturaSugerir una edición ↗
Depuración — Documentación (1.0 (latest)) | QuantCraft