RSS feed
Consultoria em Software
Melhorias no Depurador de Código/Debugger do VS 2010 (BreakPoints, DataTips, Importação/Exportação) - ScottGu's Blog em Português

Melhorias no Depurador de Código/Debugger do VS 2010 (BreakPoints, DataTips, Importação/Exportação)


Este é o vigésimo primeiro post de uma série de posts que estou escrevendo sobre o próximo lançamento do VS 2010 e .NET 4. O post de hoje mostra um pouco das boas melhorias de usabilidade que chegam com o debugger (depurador de código) do VS 2010. 

O depurador de código do VS 2010 tem várias novas capacidades. Recursos como IntelliTrace (também conhecido como histórico de depuração), novas capacidades para depuração de código paralelo/multithread (em Inglês) e suporte para depuração de dumps (em Inglês) geralmente obtêm muita atenção (bem merecida) quando as pessoas falam sobre as melhorias de depuração de código desta nova versão do VS. Eu escreverei mais posts no futuro que demonstram como tirar proveito destes novos recursos também. 

Com o post de hoje, eu pensei em começar cobrindo um número pequeno, mas agradável, das melhorias de usabilidade do depurador de código que também foram incluídas com o lançamento do VS 2010, as quais penso que você achará úteis.

Labels (etiquetas) para Breakpoints

O VS 2010 inclui novo suporte para uma melhor gestão de breakpoints (pontos de interrupção) do depurador. Uma característica particularmente útil é chamada de "Breakpoint Labels" - que permite um agrupamento e filtragem de breakpoints muito melhor dentro de um projeto ou em toda solução. 

Com versões anteriores do Visual Studio você tinha que gerenciar cada breakpoint como um item separado. Gerenciar cada breakpoint separadamente pode ser um sofrimento em grandes projetos e para os casos em que você deseja manter "grupos lógicos" de breakpoints que você pode ativar/desativar dependendo do que você está depurando. Usando o novo recurso "breakpoint labeling" (rotulagem de breakpoints) você pode agora nomear estes "grupos" de breakpoints e gerenciá-los como uma unidade.

Agrupando Múltiplos Breakpoints usando um Label (Etiqueta)

A seguir está uma captura de tela da janela de breakpoints dentro do Visual Studio 2010. Esta janela lista todos os breakpoints definidos dentro da minha solução (que neste caso é uma base de código de um projeto ASP.NET MVC 2):

imagem

O primeiro e o último breakpoint nesta lista acima, pára o depurador quando uma instância do controlador é criada ou liberada pelo framework da ASP.NET MVC.

Usando o VS 2010, eu posso agora selecionar esses dois breakpoints, clicar com o botão direito do mouse e selecionar o novo comando do menu "Edit labels..." (Editar labels...) para dar um nome comum aos dois (tornando mais fácil encontrá-los e gerenciá-los):

imagem

A seguir está a caixa de diálogo que aparece quando eu seleciono o comando "Editar labels". Podemos usar esta janela para criar um novo label para nossos breakpoints ou selecionar um label existente que já tenhamos definido. Neste caso, vamos criar um novo label chamado "Lifetime Management" (Gerenciamento do Tempo de Vida) para descrever o que esses dois breakpoints cobrem:

imagem

Quando pressionamos o botão OK nossos dois breakpoints selecionados serão agrupados sob o recém-criado label "Lifetime Management":

imagem

Filtrando/Ordenando Breakpoints por Label

Podemos usar a combobox "Search" (Pesquisar) para filtrar/ordenar rapidamente os breakpoints por label. A seguir, estamos mostrando apenas os breakpoints que foram etiquetados/marcados com "Lifetime Management":

imagem

Ativando/Desativando Breakpoints por Label

Também podemos ativar ou desativar conjuntos de breakpoints através de um label. Nós podemos simplesmente filtrar pelo label, executar um Ctrl+A para selecionar todos os breakpoints, e, em seguida, ativar/desativar todos eles com um único clique:

imagem

Importando/Exportando Breakpoints

O VS 2010 agora suporta importação/exportação de breakpoints para arquivos XML - os quais você pode então passar para outro desenvolvedor, anexar em um relatório de erros, ou simplesmente recarregá-los mais tarde. 

Para exportar apenas um subconjunto de breakpoints, você pode filtrar por um label em particular e, em seguida, clicar no botão "Export breakpoint" (Exportar breakpoint) na janela de Breakpoints:

imagem

Acima eu filtrei minha lista de breakpoints para exportar apenas dois breakpoints em particular (específicos para um bug que estou rastreando). Eu posso exportar esses breakpoints para um arquivo XML e, em seguida, anexá-lo em um relatório de bugs ou enviá-los por e-mail - o que permitirá que outros desenvolvedores facilmente configurem o depurador de código no estado correto para investigar o bug em uma máquina separada. 

DataTips Fixadas na Tela

O Visual Studio 2010 também inclui alguns recursos legais como "DataTip pining" (Fixação de DataTips) que permite que você veja e monitore de uma maneira melhor os valores das variáveis e de expressões quando estiver depurando código. 

Basta passar o mouse sobre uma variável ou expressão dentro do depurador para expor sua DataTip (que é uma descrição que mostra o valor da variável ou expressão) - e, em seguida, clicar no novo botão "pin" (alfinete) para manter a DataTip sempre visível:

imagem

Você pode "fixar" quantas DataTips você quiser na tela. Além de fixar variáveis de alto nível, você pode navegar até sub-propriedades de variáveis e fixá-las também. 

A seguir eu "fixei" três variáveis: "category", "Request.RawUrl" e "Request.LogonUserIdentity.Name". Note que estas duas últimas variáveis são sub-propriedades do objeto "Request".

imagem 

Associando Comentários com DataTips Fixadas

Ao passar o mouse sobre uma DataTip fixada na tela, é exposta uma UI (interface do usuário) adicional dentro do depurador:

imagem

Clicando no botão de comentário no final desta UI expande a DataTip - e te permite, opcionalmente, adicionar um comentário nesta DataTip:

imagem

Isto torna muito fácil adicionar e controlar notas de depuração:

imagem

DataTips Fixadas são usáveis em Sessões de Depuração e Sessões do Visual Studio

DataTips fixadas podem ser usadas em várias sessões do depurador. Isto significa que se você parar o depurador, fizer uma alteração no código, e então recompilar e iniciar uma nova sessão de depuração - quaisquer DataTips fixadas na tela ainda estarão lá, junto com quaisquer comentários que você associar a elas.

DataTips fixadas também podem ser usadas em várias sessões do Visual Studio. Isto significa que se você fechar o projeto, fechar o Visual Studio, e depois abrir o projeto novamente - quaisquer DataTips fixadas ainda estarão lá, junto com quaisquer comentários que você associar a elas.

Veja o Valor da Última Sessão de Depuração (Ótimo Recurso do Editor de Código)

Quantas vezes você já parou o depurador só para voltar ao seu código e dizer:

$#@! - Qual era mesmo o valor dessa variável??

Uma das coisas legais sobre DataTips fixadas é que elas mantêm um controle sobre seus "últimos valores a partir da sessão de depuração" - e você pode olhar estes valores dentro do editor de código C#/VB mesmo quando o depurador não estiver sendo executado. 

DataTips são escondidas por padrão quando você está no editor de código e o depurador não está sendo executado. Na margem esquerda do editor de código, porém, você encontrará um alfinete para cada DataTip fixada que você configurou previamente:

imagem

Passar o mouse sobre uma DataTip fixada fará com que ela seja mostrada na tela. A seguir você pode ver o que acontece quando eu passo o mouse sobre o primeiro alfinete na margem esquerda do editor de código - ele exibe os últimos valores da nossa sessão de depuração para a DataTip do objeto "Request" junto com o comentário que associamos a ela:

imagem

Isso torna muito mais fácil controlar o estado e condições das variáveis enquanto você alterna entre o modo de edição de código e o modo de depuração em seus projetos.

Importação/Exportação de DataTips Fixadas

Como mencionei anteriormente neste post, DataTips fixadas são por padrão salvas nas sessões do Visual Studio (você não precisa fazer nada para habilitar isso).

O VS 2010, agora também suporta a importação/exportação de DataTips fixadas para arquivos XML - que você pode então passar para outros desenvolvedores, anexar em um relatório de erros, ou simplesmente recarregar mais tarde.

imagem

Combinado com o novo suporte para importação/exportação de breakpoints, isso torna muito mais fácil compartilhar configurações de depuração entre múltiplos desenvolvedores e coloborar em sessões de depuração.

Sumário

O Visual Studio 2010 inclui um conjunto de ótimos recursos para o depurador de código - grandes e pequenos recursos. 

O post de hoje compartilhou algumas das boas melhorias de usabilidade do depurador. Todos os recursos acima são suportados no Visual Studio Professional Edition 2010 (os recursos de DataTip fixada também são suportados no Visual Studio 2010 Express Edition - que é gratuito) 

Eu estarei cobrindo alguns dos grandes e novos recursos de depuração, como Intellitrace, depuração de código paralelo/multithread, e análise do arquivo de dump (despejo) em posts futuros. 

Espero que ajude,

Scott

P.S. Além do blog, eu também estou agora utilizando o Twitter para atualizações rápidas e para compartilhar links. Siga-me em: twitter.com/ScottGu

 

Texto traduzido do post original por Leniel Macaferi.

Published Wednesday, April 21, 2010 6:43 PM by Leniel Macaferi
Filed under: , ,

Comments

No Comments

Leave a Comment

(required) 
(required) 
(optional)
(required)