Chegamos ao último passo da jornada: entender o que o código está fazendo em tempo real.

Saber debugar bem é uma das habilidades que mais economizam tempo — e que mais diferenciam desenvolvedores profissionais.

🎯 Objetivo da aula

Ao final desta aula, você será capaz de:

  • Usar o DevTools de forma profissional
  • Entender e usar breakpoints
  • Inspecionar variáveis e escopos
  • Depurar código assíncrono
  • Resolver bugs com método

O que é debugar?

Debugar é o processo de:

  • pausar a execução do código
  • inspecionar valores
  • entender o fluxo real do programa

Não é “tentar até funcionar” — é **investigar com método**.

Conhecendo o DevTools

Abra o DevTools no navegador:

  • F12
  • Ctrl + Shift + I

As abas mais importantes para debug são:

  • Sources → código e breakpoints
  • Console → logs e inspeção
  • Network → requisições

O erro clássico: só usar console.log

console.log ajuda, mas tem limites:

  • polui o código
  • não mostra o fluxo completo
  • não pausa a execução
Logs são úteis, mas não substituem o debugger.

Breakpoints — o coração do debug

Um breakpoint pausa o código exatamente na linha escolhida.

No DevTools (aba Sources):

  • clique no número da linha
  • a execução irá parar ali

Exemplo simples para debugar

 function calcularTotal(precos) { let total = 0;

for (let preco of precos) {
total += preco;
}

return total;
}

console.log(calcularTotal([10, 20, 30])); // Saída será: 60

Coloque um breakpoint dentro do for e observe:

  • valor de preco
  • valor acumulado de total

Inspecionando variáveis

Com o código pausado, você pode:

  • ver variáveis no painel Scope
  • passar o mouse sobre variáveis
  • executar expressões no Console

Isso mostra o **estado real** do programa.

Step over, step into e continue

Com o código pausado, use:

  • Step over → executa a linha atual
  • Step into → entra na função
  • Continue → segue até o próximo breakpoint
Debugar é caminhar pelo código, não correr por ele.

Usando debugger no código

Você também pode forçar uma pausa com:

 function exemplo() { debugger; console.log("Executando..."); }

exemplo();
// O código pausará automaticamente no debugger

Isso é útil para:

  • debug rápido
  • código assíncrono

Debugando código assíncrono

Código com async/await também pode ser depurado:

 async function buscarDados() { const resposta = await fetch("/api/dados"); debugger; const dados = await resposta.json(); return dados; } 

O DevTools mostra:

  • call stack assíncrona
  • estado das Promises

Breakpoints condicionais

Você pode pausar apenas quando uma condição for verdadeira.

Exemplo:

  • clique com o botão direito no breakpoint
  • adicione uma condição

Ideal para loops grandes ou bugs raros.

Debug não é só erro

Você também usa debug para:

  • entender código legado
  • explorar bibliotecas
  • confirmar hipóteses

Debug é uma ferramenta de aprendizado.

Mentalidade profissional

Quando algo não funciona:

  • não chute
  • não copie código às cegas
  • observe o comportamento real
O debugger mostra a verdade — sempre.

Resumo da aula para nunca mais esquecer

  • Debug é investigar o código em execução
  • Breakpoints são essenciais
  • Console ajuda, mas não resolve tudo
  • O DevTools é um aliado poderoso
  • Bons devs sabem debugar

Com isso, encerramos oficialmente o curso de JavaScript do Contém Bits.

Você agora tem base, maturidade e ferramentas para seguir em frente com confiança 🚀


HARDWARE

Entendendo o seu computador

O que há dentro do meu computador?

Existem alguns componentes fundamentais presentes dentro do seu computador e é muito importante que você conheça um pouco sobre eles, seja para argumentar com algum vendedor durante a compra de um novo PC ou para identificar alguma atitude desleal de algum técnico que esteja te passando um orçamento para reparo. Na seção Raio-X aqui do Contém Bits você pode conhecer e entender mais detalhadamente sobre cada componente, ou também pode clicar abaixo no componente que deseja, para conhecê-lo melhor.

  • Gabinetes

  • Placas-Mãe

  • Processadores

  • Memória

  • Fontes

  • Drives Ópticos

  • Discos Rígidos

  • SSD

  • Placas de Som

  • Placas de Vídeo

Você Sabia?

O personagem Mario surgiu pela primeira vez no mundo dos games em um jogo chamado Donkey Kong, lançado em 1981. Mario, que naquela época se chamava Jumpman, não era o personagem principal do jogo, mas ele se tornaria um dos mais famosos personagens do mundo dos games. Saiba mais.


Desde o seu lançamento, em 1985, o fantástico jogo Tetris vende pelo menos 70 milhões de unidades por ano em todo o mundo! Os dados são oficiais e fornecidos pela THQ, uma das distribuidoras do título.


Ao completar o nível 99 do jogo Duck Hunt, para Nintendo, o jogo retorna ao primeiro nível, mas um bug impede que se acerte os patos neste recomeço. Este é um exemplo do que é chamado no mundo dos games de "Kill Screen".


O console Nintendo Entertainment System (NES), da Nintendo, detém o recorde de videogame mais clonado em todo o mundo. Já foram catalogados mais de 300 aparelhos diferentes capazes de reproduzir seus jogos! Saiba mais sobre ele aqui.


Em 1949 a revista Popular Mechanics fez uma previsão para o futuro, dizendo: "Um dia os computadores pesarão menos do que 1,5 tonelada". E pensar que temos smartphones capazes de realizar milhões de vezes mais operações do que os computadores daquela época.