Sobes.tech
Junior

Como é feita a depuração de aplicações no Flutter?

sobes.tech IA

Resposta da IA

A depuração é realizada com as ferramentas padrão do IDE (Android Studio, VS Code), que suportam Flutter/Dart, bem como com flutter doctor e DevTools.

Principais métodos de depuração:

  1. Pontos de interrupção (Breakpoints): Definir pontos de interrupção no código para parar a execução e analisar passo a passo.
  2. Execução passo a passo (Stepping):
    • Step Over (F10): Executar a linha atual e passar para a próxima.
    • Step Into (F11): Entrar na função chamada.
    • Step Out (Shift + F11): Terminar a execução da função atual e retornar ao código que a chamou.
  3. Visualização de variáveis (Variables View): Monitorar os valores das variáveis no contexto atual de execução.
  4. Consola de depuração (Debug Console): Mostrar logs e mensagens usando print() ou o pacote logging.
  5. Recarregamento a quente (Hot Reload) e Recarregamento a quente com preservação do estado (Hot Restart):
    • Hot Reload (Ctrl+R / Cmd+R): Atualização rápida da UI preservando o estado da aplicação.
    • Hot Restart (Shift+Ctrl+R / Shift+Cmd+R): Recarregamento completo da aplicação sem preservar o estado.
  6. Flutter DevTools: Conjunto completo de ferramentas para perfil de desempenho, análise de memória, visualização da árvore de widgets, diagnóstico de erros de renderização e requisições de rede. Disponível através do navegador ou integrado no IDE.
  7. flutter doctor: Diagnóstico do estado da instalação do Flutter e dependências necessárias.
  8. debugPrint / log: Uso de debugPrint (de package:flutter/foundation.dart) em vez de print em aplicações Flutter para evitar desaceleração na performance em builds de release. O pacote logging oferece funcionalidades mais avançadas.

Exemplo de uso de debugPrint:

// lib/main.dart
import 'package:flutter/foundation.dart';

void main() {
  debugPrint('Aplicação iniciada');
  // ...
}

Exemplo de uso de DevTools para análise da árvore de widgets:

// No IDE, execute a aplicação em modo de depuração
// Clique no ícone do DevTools (normalmente na barra de depuração)
// Selecione a aba "Widget Inspector"
// Examine a hierarquia de widgets