Desenvolvimento - Javascript

Visual Studio.NET – Agora temos uma verdadeira forma de depurar scripts

Depurar código script era um dos grandes problemas que eu tinha quando estava trabalhando com outras tecnologias pra desenvolver aplicações web. Meu amigo, era um tal de window.alert que não acaba mais...

por Renato Guimarães



Depurar código script era um dos grandes problemas que eu tinha quando estava trabalhando com outras tecnologias pra desenvolver aplicações web. Meu amigo, era um tal de window.alert que não acaba mais... Numa página web, o código script é, às vezes, onde você perde grande parte do seu tempo... pior ainda é quando tem um erro e está difícil de descobrir. Quando eu soube que era possível depurar o código JavaScript da mesma forma que eu depurava o meu código C#.... Minha vida como desenvolvedor mudou. JJJJ Adeus aborrecimentos e window.alert para depurar meu código JavaScript. No artigo de hoje gostaria de mostrar os passos necessários para que você consiga configurar sua máquina para depurar código script e também tirar proveito desse maravilhoso recurso.

Configurando o Ambiente

Antes que qualquer coisa você precisa habilitar a depuração de script da sua máquina. Para isso, abra o seu Internet Explorer, clique no menu Tools (Ferramentas) | Internet Options (Opções da Internet). Na tela que irá se abrir, clique na aba Adavanced (avançadas) e verifique se a opção Disable Script debugging está desmarcada.

OBS: Com essa opção desmarcada sua máquina deixará alguma vulnerabilidade de segurança, sendo assim, é ideal que seja feito só na sua máquina de desenvolvimento e que, após concluído os testes, é uma boa idéia habilitar essa opção novamente.


Fig. 1 – Tela do internet explorer onde habilitamos a depuração de scripts

Qual(is) usuário(s) pode(m) depurar scripts?

Para depurar script na sua máquina você precisa ser um membro do grupo de Debugger Users. Se o proprietário do processo do script está executando com um usuário diferente do seu, você terá que ser administrador da máquina para conseguir depurar o script. Além disso, a conta do usuário que o browser ou aplicação que está executando o script precisa ser um membro do grupo de Debugg Users ou Administrators Users.

O que é um script lado cliente?

Quando falo em script lado cliente quero me referir ao código que escrevemos em VBScript ou Jscript que é carregado e executado por uma aplicação que está executando localmente. Um bom exemplo, quando colocamos código script dentro das páginas html, asp ou aspx que são carregadas no Internet Explrorer ou poderia está dentro de um arquivo com .js ou .vbs que será carregado pelo wscript.exe ou alguma outra aplicação.

Como depurar um script?

Nos passos abaixo vou mostrar como habilitarei minha máquina para depurar um script que será carregado no Internet Explorer.

  1. Execute o internet explorer;
  2. No Visual Studio.NET , abra o menu Debug | Processes. Quando abrir a janela selecione o processo iexplorer.exe.
  3. Clique no botão Atach... Quando abrir a tela Atach Processes, marque a opção Script.


    Fig. 2 – Tela onde é feita associação do tipo de depuração ao processo.

  4. Abra o menu Debug | Windows | Running Documents. Você verá todos os arquivos contendo código script que estão carregados dentro do Internet Explorer. Os arquivos só serão mostrados para o processo que você escolheu no passo 2.
  5. Na janela Running Documents dê um duplo clique sobre o arquivo contendo o código que você quer depurar. O arquivo será aberto e você poderá colocar pontos de interrupção (breakpoints) que serão ativados durante a execução do código.


Fig. 3 Tela Running Documents

OBS: No internet explorer, não acesse o arquivo com script através da opção Window | Open, ao invés, digite o endereço no caminho do arquivo na barra de endereços do browser. Caso tenha feito dessa forma os breakpoinst serão ativados. Se seu código estiver dentro de um .js ou .vbs que será executado dentro do wscript.exe ou cscript.exe, não esqueça de especificar o parâmetro /d ou /x para habilitar o debugger.

Exemplo: wscript.exe meuscript.vbs /D

Se seu código script estiver dentro de uma página .aspx que é parte de uma aplicação web, tudo que você precisa fazer para depurar o script é pressionar F5 que o depurador será automaticamente atachado ao Internet Explorer. Em seguida, abra a página .aspx na janela Running Documents e defina os pontos de interrupção (breakpoints) que serão ativados na próxima vez que essa página for atualizada.

Bem, um recurso desse tipo não pode deixar de ser utilizado. A não ser que você seja um daqueles ninjas que só escreve o código uma vez e não precisa corrigir porque faz o código todo certinho logo de primeira... Esse não é o meu caso. Uma vez ou outra estou precisando entrar dentro do script pra corrigir ou depurar alguma barbeiragem minha. Aproveite, use e abuse desse recuso! Grande abraço e aguardo você no próximo artigo...

Renato Guimarães

Renato Guimarães - Bacharel em Sistemas de Informação e trabalha com tecnologia da informação há mais de 15 anos.