Documentação1.0 (latest)
PáginasDepuração · 21 / 29

Depuração

O IDE pode executar o seu código Python sob um depurador para que você possa pausar em uma linha e inspecionar a pilha de chamadas e as variáveis. Existem dois modos de depuração, ambos iniciados pela barra de ferramentas de depuração.

ModoO que executa
Debug RunExecuta diretamente o arquivo Python atual sob o depurador. Sempre disponível quando há um arquivo aberto.
Debug TestExecuta a sua estratégia sobre barras históricas (um backtest) sob o depurador. Só aparece quando o arquivo ativo é uma estratégia que implementa os callbacks de backtest.

O Debug Test abre primeiro a caixa de configuração do backtest e depois executa. Ele oferece suporte a um único backtest — não a varreduras de otimização — e somente a uma fonte Selected symbols (não a um Screener). Ele lê os dados fundamentalistas exatamente como um backtest, incluindo a regra da data de divulgação, de modo que o que você inspeciona corresponde ao que uma execução do Test veria.

A barra de ferramentas de depuração fica oculta enquanto o QuantCraft AI controla o IDE; ela volta quando a sessão da IA termina. Para saber como os modos se relacionam com a execução normal, veja Execução de código e Backtests.


Definindo pontos de interrupção

  • Clique na margem à esquerda dos números de linha para alternar um ponto de interrupção nessa linha; clique novamente para removê-lo.
  • Os pontos de interrupção são por arquivo e são coletados de todas as suas abas abertas quando uma sessão começa.
  • A margem só pode ser clicada quando nada está em execução — defina os pontos de interrupção antes de iniciar uma execução.

Iniciando uma sessão

  • Na primeira vez que você iniciar uma sessão de depuração, verá um aviso de execução único (você poderá ignorá-lo na próxima vez).
  • O Debug Run precisa de um arquivo aberto. O Debug Test aparece quando a aba ativa é um arquivo .py que define callbacks de estratégia reconhecidos pelo IDE (on_init / on_bar / on_finish); ele não exige uma conta de trading ativa em corretora. Os dados B2 / QuantCraft usam o seu login do QC quando necessário.
  • O mecanismo de backtest ainda exige um on_tick invocável (e os demais callbacks obrigatórios). Se on_tick estiver ausente, o Debug Test pode aparecer na barra de ferramentas, mas a execução falha quando o backtest começa.
  • Somente uma sessão de depuração é executada por vez, e a depuração fica bloqueada enquanto um Run ou backtest normal estiver em andamento.

Controles

A barra de ferramentas exibe controles de acordo com o estado da sessão.

ControleQuandoO que faz
StopDurante a execuçãoEncerra a sessão de depuração.
ContinueEm pausaRetoma até o próximo ponto de interrupção.
Step OverEm pausaExecuta a linha atual, permanecendo na mesma função.
Step IntoEm pausaEntra na chamada de função da linha atual.
Step OutEm pausaExecuta até a função atual retornar.
Step BarEm pausa (somente Debug Test)Avança o backtest em uma vela.

Não há Restart — para reiniciar, pare a sessão e clique novamente em Debug Run / Debug Test.


O que você vê quando está em pausa

  • O editor salta para o arquivo em pausa e destaca a linha em pausa.
  • Uma subaba Debug é aberta no painel de saída com dois painéis:
    • Call Stack — a cadeia de quadros, cada um mostrando o nome de uma função e arquivo:linha. Clique em um quadro para inspecionar suas variáveis.
    • Variables — agrupadas por escopo (Locals, Globals, Closure etc.). Cada variável mostra nome, tipo e valor; objetos e listas se expandem para revelar o conteúdo.
  • No Debug Test, um banner de contexto do passo mostra a sua posição no backtest, por exemplo Bar 12 / 240 · AAPL · <time> · O … H … L … C ….
  • A saída do programa é transmitida para o painel de saída normalmente.

Limitações

  • Não há painel de observação nem avaliador de expressões — somente Call Stack e Variables.
  • Não há controle Restart (pare e inicie novamente).
  • O Debug Test é apenas para um único backtest — ele não consegue depurar uma execução de otimização.
  • Não há fonte de símbolos Screener — o Debug Test é interrompido com Debug test doesn't support a Screener symbol source …. Mude para Selected symbols e escolha alguns tickers.
  • O Debug Test exige que a aba ativa seja um arquivo de estratégia .py com os callbacks de backtest; um script simples só recebe o Debug Run.
  • A visibilidade do Debug Test na barra de ferramentas não verifica on_tick; quem verifica é o mecanismo.

Veja também

4 min de leituraSugerir uma edição ↗
Depuração — Documentação (1.0 (latest)) | QuantCraft