Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Node.js

Depuração com Node.js

by
Difficulty:IntermediateLength:ShortLanguages:

Portuguese (Português) translation by Erick Patrick (you can also view the original English article)

Depuração é tão crucial quanto qualquer outra parte do ciclo de desenvolvimento. Logo, é sempre bom desmistificar o processo de depuração, tornando-o mais fácil e rápido, para podermos terminar os trabalhos em tempo e reduzir estresse.

Assim como a maioria das linguagens por aí, Node provê algumas ferramentas excelentes de depuração, permitindo encontrar e ajustar defeitos no código. Sempre defendo o uso de depurador porque acredito que seu uso realmente elimina a necessidade de qualquer advinhação, além de tornamo-nos melhores desenvolvedores.

Esse guia é para desenvolvedores e administradores que já trabalham com Node. Assumimos entendimento básico da linguagem em nível prático.

Usando o Depurador

O Node.js inclue um utilitário externo e completo de depuração, acessível por um protocolo simples baseado em TCP, embutido no cliente de depuração.

Por exemplo, para usar o depurador em um arquivo script.js, basta executar o node com o semáforo debug desse forma:

Pontos de Parada

Agora que começamos um sessão de depuração, em qualquer lugar que chamarmos o debugger no script será um ponto de parada.

Por exemplo, adicionemos esta declaração ao script.js:

Agora, se executarmos esse script, o depurador será invocado em nosso ponto de parada e poderemos controlar o script através dos comandos cont e next (c e n).

Podemos pausar o script, a qualquer momento, usando p.

REPL

O "Read-Eval-Print-Loop" do depurador permite digitar códigos durante a exeução e, assim, acessar o estado da aplicação e todas as variáveis e métodos existentes no momento do ponto de parada. Essa é uma ferramenta muito poderosa, permitindo limpar o aplicativo rapidamente.

No geral, o REPL está disponível sozinho ou junto do depurador, e permite-nos executar JavaScript de forma interativa. Por exemplo, digitemos node na linha de compando, sem quaisquer opções e entraremos na interface do REPL, onde podemos digitar código e ver seu retorno.

Entrando e Saindo

Mais cedo, mencionamos os comando cont e next (c e n), que nos permitem continuar a execução assim que um ponto de parada é alcançado. Além disso, ao navegar pelo código, também podemos entrar e sair do escopo de um método.

Usemos os comandos step para entrar e out para sair, ou s e o, abreviadamente.

Usando Backtrace

Use backtrace ou bt para obter um retorno do caminho que o aplicativo percorreu para chegar onde está.

Reiniciando

Use restart ou r para reiniciar seu script do começo da execução.

Formas Alternativas de Conectar ao Depurador

Usuários avançados podem acessar o depurador ao iniciar o Node.js com o semáforo --debug ou, alternativamente, sinalizando um processo Node.js existente com SIGUSR1.

Uma vez iniciado o processo em modo de depuração, pode-se conectar a ele usando o depurador do Node.js usando o pid do processo em execução ou através da URI de referência (localhost:porta) para conectar ao depurador em escuta:

  • node debug -p <pid> conecta-se ao processo através do pid.
  • node debug <URL> conecta-se ao processo através da URI, como localhost:5858.

Usando o Inspetor do Node

Além da ferramenta de depuração CLI, o Inspetor Node também provê uma interface dentro do nevagador (por hora, apenas no Chrome e Opera).

Para usar o depurador, basta instalá-lo:

npm install -g node-inspector

Agora que temos o inspetor Node instalado, podemos depurar nosso script.js com:

node-debug script.js

O terminal mostrará isso, e provavelmente abrirá um navegador para a URL caso tenhamos o Chrome ou Opera instalados como navegadores padrão.

No navegador, poderemos depurar a aplicação em um ambiente similiar à ferramenta de desenvolvedores. Configurar pontos de parada e visualização de código estão integradas no navegador. Divirtamo-nos!

Conclusão

Depuração não precisa ser um pesadelo nem algo estressante.

Configurar pontos de parada e navegar pelo código é bem simples no Node. É bem parecido com o Ruby e, se quisermos entender uma aplicação que nos foi dada, abrí-la em modo de depuração e pausar sua execução é uma forma fantástica de aprender em curto prazo.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.