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:
- Pontos de interrupção (Breakpoints): Definir pontos de interrupção no código para parar a execução e analisar passo a passo.
- 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.
- Visualização de variáveis (Variables View): Monitorar os valores das variáveis no contexto atual de execução.
- Consola de depuração (Debug Console): Mostrar logs e mensagens usando
print()ou o pacotelogging. - 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.
- 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.
flutter doctor: Diagnóstico do estado da instalação do Flutter e dependências necessárias.debugPrint/log: Uso dedebugPrint(depackage:flutter/foundation.dart) em vez deprintem aplicações Flutter para evitar desaceleração na performance em builds de release. O pacoteloggingoferece 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