ID do artigo: 910448 - Última revisão: quinta-feira, 28 de setembro de 2006 - Revisão: 1.3

Como implementar a depuração remota no Visual Studio 2005

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Coluna de voz de suporte do ASP.NET

Como implementar a depuração remota no Visual Studio 2005

para personalizar esta coluna às suas necessidades, queremos convidá-lo para enviar suas idéias sobre tópicos que interessam a você e problemas que você deseja ver abordados artigos do Knowledge Base no futuro e colunas de voz de suporte. Você pode enviar suas idéias e comentários usando o formulário Ask For It (http://support.microsoft.com/common/survey.aspx?scid=sw;en;1176&p0=&p1=&p2=&p3=&p4=) . Há também um link para o formulário na parte inferior desta coluna.

Nesta página

Expandir tudo | Recolher tudo

Introdução

Bem-vindo à coluna do Microsoft ASP.NET suporte Voice! Meu nome é Akshay N. S. e estou com a equipe de suporte de desenvolvedores do ASP.NET. Eu ter sido trabalhando com suporte ASP.NET para praticamente dois anos. Este mês na coluna voz de suporte do ASP.NET, vou descrever como implementar a depuração remota para ASP.NET aplicativos usando o Microsoft Visual Studio 2005. Eu gostaria de agradecer a meu chefe técnico, Jerry Andrade, sua ajuda incrível!

Depuração remota é considerada um dos tópicos mais difíceis no ASP.NET, mas é um recurso realmente interessante e é realmente útil quando não temos um servidor Web local ou quando temos de armazenar os aplicativos em um local centralizado. Esta coluna aborda como configurar e usar a depuração remota no Visual Studio 2005.

Instalação da depuração remota é bastante simplificada no Visual Studio 2005. Embora o verbo DEBUG ainda é enviado para o site para garantir que o processo remoto esteja funcionando, todos os cenários de depuração remotos exceto a depuração T-SQL usam o Remote Debugging Monitor (msvsmon.exe).

Para obter mais informações sobre o que há de novo no Visual Studio 2005 do depurador, visite a seguinte site da Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/01xdt7cs.aspx (http://msdn2.microsoft.com/en-us/library/01xdt7cs.aspx)
No Visual Studio .NET 2003 e no Visual Studio .NET 2002, depuração DCOM relied em dois pacotes, Machine Debug Manager (MDM.exe) e Vs7jit.exe. Problemas comuns que vêem pessoas foram causados por diferenças de versão, as permissões DCOM ou problemas de rede e solucionar os problemas era muito difícil. Esses pacotes foram eliminados. Msvsmon.exe agora tem uma interface gráfica do usuário no lugar da interface de linha de comando anterior. Com o uso de msvsmon.exe, a depuração remota mais é simplificada. Você apenas precisa executar msvsmon.exe e a ferramenta escuta as conexões de clientes.

Msvsmon.exe tem uma interface amigável que torna mais fácil de usar. A configuração de depuração remota no Visual Studio 2005 é bem simples. Você precisará executar o msvsmon.exe no servidor remoto antes para depuração. Pode instalar o Monitor de depuração remota do Visual Studio 2005 CD ou simplesmente executar msvsmon.exe partir de um compartilhamento de sem instalar nada em todos os no servidor Web.

Para saber mais sobre depuração ASP.NET, visite o seguinte site da MSDN:
http://msdn2.microsoft.com/en-us/library/ms227556.aspx (http://msdn2.microsoft.com/en-us/library/ms227556.aspx)

Por que a depuração remota?

Você pode considerar o uso depuração remota, quando você tem as seguintes situações:
  • Não é possível executar um aplicativo da Web localmente.
  • Você não pode ter um servidor Web local e você precisa desenvolver um aplicativo para usuários da Internet ou quiser que um aplicativo ser implantado em um servidor Web.
  • O aplicativo não está disponível para você localmente.
  • Você deseja armazenar o aplicativo em um local centralizado.

The Remote Debugging Monitor (msvsmon.exe)

O Remote Debugging Monitor (msvsmon.exe) é um aplicativo pequeno que Visual Studio 2005 se conecta para depuração remota. Durante a depuração remota, Visual Studio 2005 executa em um computador (o host depurador) e o Remote Debugging Monitor executa no computador remoto juntamente com o aplicativo que você está depurando.

O Monitor de depuração remota é executado como um aplicativo do Microsoft Windows. A interface do usuário mostra que o Monitor de depuração remota está em execução e torna a depuração fácil para configurar remoto.

Configurando o msvsmon.exe para depuração remota

Você pode configurar o Remote Debugging Monitor para depuração remota em um dos dois modos:
  • Modo de autenticação do Windows
    Esse modo usa segurança interna do sistema operacional para fornecer um alto nível de segurança. Os protocolos Kerberos e NTLM são usados para autenticar todas as solicitações. Privacidade do pacote RPC (chamada) procedimento remoto é usada para criptografar dados que trafegam pela rede quando você depura código nativo ou código baseado em .NET Framework em computadores que estão executando o Microsoft Windows Server 2003, Microsoft Windows XP, Microsoft Windows 2000 e futuros sistemas operacionais da Microsoft Windows.

    Para configurar depuração remota no modo de autenticação do Windows, visite o seguinte site da MSDN:
    http://msdn2.microsoft.com/en-us/library/ms164722.aspx (http://msdn2.microsoft.com/en-us/library/ms164722.aspx)
  • Nenhum modo de autenticação
    Esse modo não tem segurança. O Visual Studio 2005 enviará o nome do usuário atual para o depurador remoto, mas essas informações são usadas para fins informativos e, portanto, não são verificadas. Nenhum modo de autenticação permite uma depuração mais rápida em redes lentas, mas ele não é seguro e deve ser usado somente em redes seguras. Esse modo nunca deve ser usado em uma rede que possa ter tráfego hostil. Além disso, este modo nunca deve ser usado para depurar remotamente pela Internet. Nenhum modo de autenticação só oferece suporte a depuração nativa.

    Para configurar depuração remota no modo sem autenticação (para código nativo somente), visite o seguinte site da MSDN:
    http://msdn2.microsoft.com/en-us/library/ms164723.aspx (http://msdn2.microsoft.com/en-us/library/ms164723.aspx)
O depurador remoto foi projetado para que vários usuários possam executar o depurador remoto no mesmo computador. Cada instância do depurador remoto tem um nome de servidor exclusivo. Nomes de servidor são configuráveis, portanto, você pode dar uma instância do depurador remoto qualquer nome de servidor. Normalmente, o nome do servidor padrão é satisfatório. O nome do servidor padrão varia dependendo de qual usuário iniciou o depurador remoto. Se o usuário user_name do domínio domain_name estiver conectado ao computador server_name, o nome de servidor padrão seria domain_name \ user_name @ server_name.

Você se conectar a uma instância do depurador remoto digitando o nome do servidor na caixa de diálogo Anexar ao processo ou digitando o nome do servidor para as propriedades de depuração para um projeto. Para abrir a caixa de diálogo Anexar ao processo , clique em Anexar ao processo no menu Debug ou no menu Ferramentas .

Computador de outro usuário de depuração

Suponha que desejamos executar a depuração remota ao computador de um usuário diferente com o usuário diferente conectado ao computador. Precisamos considerar duas questões primários:
  • Permissões
    Por padrão, somente administradores e o usuário executando o depurador remoto têm acesso para se conectar ao depurador remoto.
  • Conectando-se
    O Visual Studio 2005 precisa saber ao qual instância do depurador remoto você deseja se conectar. Se o mesmo usuário estiver executando o depurador remoto e o Visual Studio 2005, Visual Studio 2005 poderão localizar o depurador remoto sem você informando-o usuário está executando o depurador remoto.

    No entanto, se um usuário diferente estiver executando o depurador remoto, o Visual Studio 2005 deve ser informado para se conectar a domain_name \ user_name @ remote_computer em vez de apenas informado para conectar-se a remote_computer.
Vamos considerar um exemplo para entender claramente nessa situação. Molly Clark e Valdomiro Ribeiro são dois funcionários da Adventure Works. A Adventure Works tem um domínio Microsoft Windows NT chamado adventure-works.com. ADAM está tendo problemas com alguns softwares Molly escreveu. Molly gostaria de depurar este software no computador de ADAM. Molly e ADAM execute estas etapas:
  1. ADAM não tem o depurador remoto em seu computador. Para configurar o depurador remoto, Molly decide compartilhar a pasta de depurador Program Files\Microsoft Visual Studio 8\Common7\IDE\Remote no seu computador. Ela cria um compartilhamento de arquivo chamado remoto.
  2. ADAM é executada \\MollyComputerName\Remote\x86\Msvsmon.exe.
  3. Depois que o depurador remoto for iniciado, o ADAM clica em permissões no menu Ferramentas para configurar o depurador remoto usando a caixa de diálogo permissões . Ele dá Molly permissão para depurar.

    Observação ADAM também pode configurar o depurador remoto, passando a opção / allow quando inicia o depurador remoto.
  4. Molly inicia o Visual Studio 2005.
  5. Para abrir a caixa de diálogo Attach to Process , Molly clica em Attach to Process no menu Ferramentas .
  6. Molly se conecta ao computador de ADAM inserindo adventure-works.com\Adam@AdamComputerName na caixa de qualificador .
  7. Em Available Processes , Molly seleciona o processo do operador que seu aplicativo está usando e em seguida, clica em anexar .
  8. Molly abre um navegador e fornece a URL para o aplicativo remoto. Pára a execução onde o ponto de interrupção é colocado no aplicativo.

Executando o serviço depurador remoto no ASP.NET e em outros ambientes de servidor

Para depuração no ASP.NET e outros ambientes de servidor, você pode executar o Monitor de depuração remota como um serviço do Windows (o serviço do depurador remoto).

Para configurar o Monitor de depuração remota como um serviço, execute estas etapas:
  1. Clique em Iniciar , clique em Microsoft Visual Studio 2005 , aponte para o Visual Studio Tools e, em seguida, clique em Visual Studio 2005 Remote Debugger Configuration Wizard .
  2. Siga as etapas no Assistente para configurar depuração remota como um serviço.

Como configurar o ambiente de depuração remota

Adicionar o usuário apropriado ao grupo Usuários depuradores no computador remoto

Para fazer isso, execute as seguintes etapas:
  1. No computador remoto, clique com o botão direito em Meu computador e, em seguida, clique em Gerenciar .
  2. Em Gerenciamento do computador , expanda Ferramentas do sistema , expanda usuários e grupos locais e, em seguida, expanda grupos .
  3. Clique duas vezes em Usuários depuradores .
  4. Para adicionar o usuário apropriado ao grupo Usuários depuradores, clique em Adicionar na caixa de diálogo Propriedades de usuários do depurador .
  5. No Selecionar usuários, computadores ou grupos na caixa de diálogo, insira o usuário apropriado na caixa Digite os nomes de objeto para selecionar e, em seguida, clique em OK duas vezes. Por exemplo, digite Domain1 \ User1.
  6. Feche a ferramenta Gerenciamento do computador.
Observação No Visual Studio .NET 2003 e no Visual Studio .NET 2002, o usuário está tentando executar a depuração remota deve ser um membro do grupo Administradores. No entanto, no Visual Studio 2005, não precisamos adicionar o usuário ao grupo Administradores.

A tabela a seguir mostra quais contas podem acessar o computador.
Recolher esta tabelaExpandir esta tabela
Configuração do computadorConta do sistema localDomínio contaContas locais com o mesmo nome de usuário e a senha nos dois computadores
Ambos os computadores no mesmo domínioSimSimSim
Ambos os computadores em domínios com confiança bidirecionalNãoNãoSim
Um ou dois computadores em um grupo de trabalhoNãoNãoSim
Computadores em domínios diferentesNãoNãoSim

Verifique se os componentes de depuração remota do Visual Studio 2005 estiverem instalados no servidor remoto

Se você quiser executar msvsmon.exe a partir de um compartilhamento remoto, você precisará instalar os componentes de depuração remota. Para instalar os componentes de depuração remota, execute estas etapas:
  1. Insira o CD última do Visual Studio 2005 no computador remoto. Por exemplo, se sua cópia do Visual Studio 2005 veio nos quatro CDs, insira o CD quarto no computador remoto.
  2. Navegue até a pasta Remote Debugger no CD do.
  3. A pasta Remote Debugger contém uma subpasta para cada arquitetura de processador, ou seja, x 86, x 64 e IA-64 (somente SKUs suportados). Abra a subpasta que coincide com o processador do computador.
  4. Iniciar rdbgsetup.exe e, em seguida, siga as instruções para concluir a instalação.

Ativar a depuração remota no servidor remoto

Para habilitar a depuração remota no servidor remoto, você pode fazer uma das seguintes opções:
  • Instale o Monitor de depuração remota no servidor remoto do CD do Visual Studio 2005. Para fazer isso, execute as seguintes etapas:
    1. Iniciar manualmente o msvsmon.exe do sistema de arquivos local quando você inicia a depuração. Você pode interromper o processo quando tiver terminado de depuração.
    2. Inicie o Visual Studio 2005 Debugger serviço remoto (msvsmon.exe sendo executado como um serviço). Por padrão, o serviço é desabilitado. Você precisará usar o snap-in Services Microsoft Management Console (MMC) para habilitar e iniciar o serviço. Uma vez iniciado o serviço, você pode depurar aplicativos ASP.NET automaticamente.
  • Executar msvsmon.exe remotamente de um compartilhamento. Compartilhando o diretório de componentes de depuração remota no computador Visual Studio 2005, você pode executar msvsmon.exe no servidor remoto sem instalar nada no servidor.
Msvsmon.exe é instalado para os seguintes caminhos:
  • Install pathO visual Studio 8\Common7\IDE\Remote Debugger\x86 \Microsoft
  • Install pathO visual Studio 8\Common7\IDE\Remote Debugger\x64 \Microsoft
  • Install pathO visual Studio 8\Common7\IDE\Remote Debugger\ia64 \Microsoft
Depois de iniciar msvsmon.exe no servidor remoto, você pode abrir o projeto remoto e de depuração.

O arquivo Msvsmon.exe.config precisa corresponder à versão do common language runtime (CLR). A versão do CLR é a versão 2.0.50727 se você tiver instalado um service pack do Visual Studio 2005.

Os seguintes recursos de depurador não funcionará quando você executa msvsmon.exe a partir um compartilhamento:
  • Depuração em um computador que esteja executando o Microsoft Windows Millennium Edition ou Microsoft Windows 98
  • Depuração em um XML Web service (manual anexar ainda é possível.)
  • Depuração automática de um aplicativo ASP.NET ou uma extensão de servidor ATL baseado servidores da Internet (ISAPI) (novamente, anexar manualmente ainda é possível.)
Para obter mais informações sobre como configurar depuração remota, visite o seguinte site da MSDN:
http://msdn2.microsoft.com/en-us/library/bt727f1t.aspx (http://msdn2.microsoft.com/en-us/library/bt727f1t.aspx)

Criar uma solução de Web

Para fazer isso, execute as seguintes etapas:
  1. Clique em Iniciar , aponte para Todos os programas , aponte para Microsoft Visual Studio 2005 e, em seguida, clique em Microsoft Visual Studio 2005 .
  2. No menu arquivo , aponte para novo e, em seguida, clique em Site .
  3. Na caixa de diálogo New Web Site , clique em Site do ASP.NET em Visual Web Developer installed templates .
  4. Na caixa Location , clique em HTTP .
  5. Para o local, digite um caminho no servidor remoto. Por exemplo, digite http:// RemoteServerName / WebApplicationName.

    Observação Certifique-se que o extensões de servidor do FrontPage da Microsoft estiver instaladas no servidor remoto. Se você não tiver as extensões de servidor do FrontPage instaladas no servidor remoto, você receber a seguinte mensagem de erro:
    Recolher esta imagemExpandir esta imagem
    Error message
  6. Abra default.aspx no modo de exibição designer.
  7. Clique duas vezes o designer para abrir o Code Editor. Você é colocados no evento Page_Load .
  8. Adicione a seguinte linha de código ao evento Page_Load .
    ' Visual Basic
    Response.Write("Hello World")
    
    // C#
    Response.Write("Hello World"); 
    
  9. Pressione F9 na linha atual para definir um ponto de interrupção.

Verifique se que funciona de depuração remota

Para verificar que funciona de depuração remota, pressione F5 para executar o aplicativo no modo de depuração. O depurador deve quebrar na linha de onde você colocou o ponto de interrupção.

Quando iniciar a depuração, o Remote Debugging Monitor se parece com o seguinte no servidor remoto:
Recolher esta imagemExpandir esta imagem
Remote Debugging Monitor
Isso informa que o usuário está conectado para depurar o aplicativo.

Se o ponto de interrupção não é atingido, deve considerar examinando os logs do Microsoft Internet Information Services (IIS). Os logs do IIS ajudará você a determinar quais etapas não está funcionando ou se o verbo DEBUG está sendo enviado para o servidor Web. Os logs do IIS estão no seguinte local:
%windir%\system32\logfiles\w3svc Number
Observação Number é o número de instância IIS do site.

Dica Você pode também clicar em Iniciar , clique em Executar e digite LogFiles para ir para o diretório do arquivo de log padrão.

Você pode obter o caminho, verificando o IIS propriedades:
  1. Inicie O Gerenciador do IIS.
  2. Clique com o botão direito do mouse o site você está criando projetos contra e, em seguida, clique em Propriedades .
  3. Na guia Site , clique em Propriedades em Ativar logs .

    O caminho do arquivo de log e o diretório estão listados na parte inferior da guia General Properties .
Esta é a aparência os logs do IIS após é capaz de depurar o aplicativo com êxito. Adicionei comentários no log para mostrar os itens que estamos for.
#Software: Microsoft Internet Information Services 5.1
#Version: 1.0
#Date: 2006-09-11 14:32:56
#Fields: time c-ip cs-method cs-uri-stem sc-status 
14:32:56 X.X.X.X POST /remoteApp/_vti_bin/_vti_aut/author.dll 200

Look for the debug verb after the IP address (in our case it's X.X.X.X). This indicates that the debug verb is sent to the Web server successfully.
14:32:58 X.X.X.X  DEBUG /remoteApp/Default.aspx 200
14:33:02 X.X.X.X GET /remoteApp/Default.aspx 200
14:33:05 X.X.X.X DEBUG /remoteApp/Default.aspx 200
se você não localizar o verbo DEBUG enviado para o servidor que está executando o IIS, pegue o seguinte log verbo DEBUG para obter mais informações sobre o que exatamente está falhando:
%TMP%\Visual studio Web Debugger.log

Que fazer antes de implementar a depuração remota

  • Você deve referenciar o computador remoto, usando um nome de computador em vez de um endereço IP.
  • O arquivo Web.config para o aplicativo ASP.NET não deve conter erros e o elemento de compilação deve ter o atributo debug definido como True .
  • No mínimo, o Visual Studio 2005 componentes de depuração remota deve ser instalado no computador remoto, a menos que deseje executar msvsmon.exe partir de um compartilhamento remoto.

    Observação Certifique-se de que você compartilhe o diretório de depurador Program Files\Microsoft Visual Studio 8\Common7\IDE\Remote e não apenas as subpastas dentro dela. Por exemplo, se você compartilhar apenas a pasta de x 86 e em seguida, executar msvsmon.exe a partir de um compartilhamento remoto sem ter os componentes de depuração remota instalados, você recebe a seguinte mensagem de erro:
    Recolher esta imagemExpandir esta imagem
    Error message
  • Certifique-se de que um firewall não está bloqueando a depuração remota. Se você ativar um firewall e se ele está bloqueando a execução, você receberá a seguinte mensagem de erro:
    Recolher esta imagemExpandir esta imagem
    Error message
  • A configuração de segurança para o site deve permitir a autenticação integrada do Windows. O site também pode permitir acesso anônimo.
  • Verifique se o Monitor de depuração remota está em execução no servidor remoto. Se não estiver executando o msvsmon.exe, você receber a seguinte mensagem de erro:
    Recolher esta imagemExpandir esta imagem
    Error message

Links relacionados

Erros de depuração e solução de problemas remota
http://msdn2.microsoft.com/en-us/library/2ys11ead.aspx (http://msdn2.microsoft.com/en-us/library/2ys11ead.aspx)

Como especificar uma versão do .NET Framework para depuração
http://msdn2.microsoft.com/en-us/library/ms241897.aspx (http://msdn2.microsoft.com/en-us/library/ms241897.aspx)
908099  (http://support.microsoft.com/kb/908099/ ) Como ativar depuração remota do Visual Studio 2005 no Windows XP com Service Pack 2
919823  (http://support.microsoft.com/kb/919823/ ) Você pode receber uma mensagem de erro quando você tenta se conectar a uma instância do Monitor de depuração remota no Visual Studio 2005
948040  (http://support.microsoft.com/kb/948040/ ) Problemas ao tentar configurar depuração remota entre domínios de rede
Como sempre, vontade enviar idéias sobre tópicos desejado no futuro abordada colunas ou na Base de dados de Conhecimento usando o formulário Ask For It (http://support.microsoft.com/common/survey.aspx?scid=sw;en;1176&p0=&p1=&p2=&p3=&p4=) .

A informação contida neste artigo aplica-se a:
  • Microsoft ASP.NET 2.0
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft Visual Studio 2005 Standard Edition
  • Microsoft Visual Studio 2005 Professional Edition
  • Microsoft Visual Studio 2005 Express Edition
Palavras-chave: 
kbmt kbgraphxlink kbhowto KB910448 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 910448  (http://support.microsoft.com/kb/910448/en-us/ )