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.
| Modo | O que executa |
|---|---|
| Debug Run | Executa diretamente o arquivo Python atual sob o depurador. Sempre disponível quando há um arquivo aberto. |
| Debug Test | Executa 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
.pyque 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_tickinvocável (e os demais callbacks obrigatórios). Seon_tickestiver 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.
| Controle | Quando | O que faz |
|---|---|---|
| Stop | Durante a execução | Encerra a sessão de depuração. |
| Continue | Em pausa | Retoma até o próximo ponto de interrupção. |
| Step Over | Em pausa | Executa a linha atual, permanecendo na mesma função. |
| Step Into | Em pausa | Entra na chamada de função da linha atual. |
| Step Out | Em pausa | Executa até a função atual retornar. |
| Step Bar | Em 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.
- Call Stack — a cadeia de quadros, cada um mostrando o nome de uma função e
- 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
.pycom 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
- Backtests — executar um backtest e a caixa Run
- Ciclo de vida da estratégia — callbacks da estratégia e ordem de simulação
- Possíveis erros — mensagens de erro comuns e correções

