Guia de Depuração
Depure projetos de anotação do Potato — ative o registro detalhado, use flags de depuração, interprete mensagens de erro comuns e solucione problemas de carregamento de dados e validação de esquemas.
O Potato oferece várias flags de linha de comando e opções de configuração para auxiliar na depuração e nos testes de projetos de anotação. Elas são úteis durante o desenvolvimento e a solução de problemas.
Configuração do servidor
Você pode configurar as definições do servidor diretamente no seu arquivo de configuração YAML:
server:
port: 8000 # Port to run on (default: 8000)
host: "0.0.0.0" # Host to bind to (default: 0.0.0.0)
debug: false # Enable Flask debug mode (default: false)Observação: As flags de linha de comando têm precedência sobre os valores do arquivo de configuração. Por exemplo, -p 9000 substituirá server.port: 8000.
Flags de depuração
--debug
Inicia o Potato em modo de depuração com autenticação simplificada.
potato start config.yaml --debugEfeitos:
- Ignora os requisitos normais de login
- Ativa o registro detalhado
- Útil para testar rapidamente mudanças de configuração
--debug-log
Controla a saída de registro de depuração para diferentes partes do sistema.
potato start config.yaml --debug --debug-log=allOpções:
| Valor | Descrição |
|---|---|
all | Ativa o registro tanto para a UI (frontend) quanto para o servidor (backend) |
ui | Ativa apenas o registro no console JavaScript do frontend |
server | Ativa apenas o registro Python do backend |
none | Desativa todo o registro de depuração |
Exemplos:
# Debug frontend issues (JavaScript errors, UI state)
potato start config.yaml --debug --debug-log=ui
# Debug backend issues (API calls, data processing)
potato start config.yaml --debug --debug-log=server
# Full debugging (both frontend and backend)
potato start config.yaml --debug --debug-log=all
# Quiet mode - minimal output
potato start config.yaml --debug --debug-log=none--debug-phase
Pule diretamente para uma fase ou página específica sem passar pelas fases anteriores. Isso é útil para testar partes específicas de um fluxo de trabalho de anotação.
potato start config.yaml --debug --debug-phase=annotationRequer: A flag --debug também precisa estar definida.
Nomes de fase válidos:
login- Página de loginconsent- Formulário de consentimentoprestudy- Pesquisa pré-estudoinstructions- Página de instruçõestraining- Fase de treinamentoannotation- Fase principal de anotaçãopoststudy- Pesquisa pós-estudodone- Página de conclusão
Exemplos:
# Jump directly to annotation (most common use case)
potato start config.yaml --debug --debug-phase=annotation
# Test post-study survey
potato start config.yaml --debug --debug-phase=poststudy
# Test a specific named page
potato start config.yaml --debug --debug-phase=my_custom_surveyComo funciona:
- Cria automaticamente e faz login de um usuário chamado
debug_user - Pula todas as fases anteriores à fase especificada
- O estado do usuário é definido como se ele tivesse concluído todas as fases anteriores
Combinando flags de depuração
As flags podem ser combinadas para diferentes cenários de depuração:
# Quick annotation testing with minimal noise
potato start config.yaml --debug --debug-phase=annotation --debug-log=none
# Full debugging of annotation phase
potato start config.yaml --debug --debug-phase=annotation --debug-log=all
# Debug only backend while testing post-study
potato start config.yaml --debug --debug-phase=poststudy --debug-log=serverOutras flags úteis
--verbose / -v
Ativa a saída detalhada para o registro geral de operações.
potato start config.yaml -v--veryVerbose
Ativa a saída muito detalhada com informações detalhadas do estado interno.
potato start config.yaml --veryVerbose--port / -p
Executa em uma porta específica (útil ao rodar várias instâncias).
potato start config.yaml -p 8080Ferramentas de desenvolvedor do navegador
Além das flags de linha de comando, use as ferramentas de desenvolvedor do navegador para depuração:
- Console: Veja registros e erros JavaScript (F12 ou Cmd+Option+I)
- Network: Monitore as chamadas de API entre frontend e backend
- Elements: Inspecione o DOM e a estilização CSS
- Application: Verifique o armazenamento de sessão e os cookies
Reativando o registro no console
Se o registro da UI foi desativado via --debug-log=server ou --debug-log=none, reative-o no console do navegador:
enableUIDebug();Cenários comuns de depuração
Testando um novo esquema de anotação
# Skip to annotation with full logging
potato start config.yaml --debug --debug-phase=annotation --debug-log=allDepurando problemas de API
# Server-only logging to focus on backend
potato start config.yaml --debug --debug-log=serverEm seguida, use a aba Network do navegador para inspecionar os dados de requisição/resposta.
Testando o fluxo do usuário
# Start from the beginning with UI logging
potato start config.yaml --debug --debug-log=uiTestes de desempenho
# Minimal logging overhead
potato start config.yaml --debug --debug-phase=annotation --debug-log=noneSolução de problemas
"debug-phase requires --debug flag"
A opção --debug-phase só funciona quando --debug também é especificada:
# Wrong
potato start config.yaml --debug-phase=annotation
# Correct
potato start config.yaml --debug --debug-phase=annotationFase não encontrada
Se a fase especificada não existir na sua configuração, verifique:
- Se o nome da fase está escrito corretamente
- Se a fase está definida no seu arquivo de configuração YAML
- Para páginas personalizadas, use o nome exato da página presente na sua configuração
Leitura adicional
- Preview CLI - Valide configurações sem executar o servidor
- Simulador de Usuários - Testes automatizados com usuários simulados
- Desenvolvimento Local - Configuração de desenvolvimento
Para detalhes de implementação, consulte a documentação de origem.