Posts Tagged debug

Debug com NodeJS

No meu último post falei sobre a instalação do NodeJS, e deixei no final do post a recomendação para um “Hello World” com a linguagem.
Pois bem, agora estou aqui para falar de debug no NodeJS, vou falar disso antes de começar com exemplos mais complexos, porque debugar NodeJS tem algumas particularidades interessantes e algumas variações de Sistema Operacional para Sistema Operacional.

Vamos utilizar o “Hello World” do Site oficial do NodeJS.

var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(8124, "127.0.0.1");
console.log('Server running at http://127.0.0.1:8124/');

Cole o código no seu editor preferido, e salve o arquivo como helloworld.js.

Agora vamos iniciar o servidor node:

Do terminal acesse o diretório onde você salvou o arquivo helloworld.js execute o seguinte comando:

* node helloword.js

Se tudo correu bem, o resultado deve ser o seguinte:

Agora vamos a parte divertida, debug e suas particularidades.

No post de instalação eu mostrei como instalar o node-inspector e defini com uma ferramenta para um debug decente. Agora vamos a utilização:

Primeiro passo é a execução do node inspector. Execute o seguinte comando:

* node-inspector

Acessando a url retornada no comando, temos a seguinte tela:

O depurador ainda acusa um erro, pois neste momento não temos nenhuma aplicação rodando.

Vamos ver o debug em ação.

Execute o comando node novamente, porem adicione –debug, para iniciar o servidor de depuração:

* node –debug hellworld.js

Com isso iniciamos o nosso servidor com o debug ativo. Então a url exibida pelo node-inspector deve funcionar.

Nessa tela temos Breakpoints, Watches e tudo mais que um bom depurador nos proporciona.

Daí para frente é com você, Use e Abuse do Depurador.

Por enquanto é isso galera, tem uma particularidade quanto ao node-inspector no linux, mas isso vem no próximo post. Valeu!

TwitterFacebookPlurkDeliciousRead It LaterInstapaperLinkedInShare

, , , , ,

1 Comentário