COMO: Depuração Common Gateway Interface aplicações em execução no IIS utilizando o Visual Studio

Traduções de Artigos Traduções de Artigos
Artigo: 238788 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Este artigo passo a passo descreve como depurar as aplicações de interface comum para gateways (CGI, Common Gateway Interface) em execução em Serviços de informação Internet (IIS) utilizando qualquer versão do Visual Studio.

Depurar uma aplicação CGI C Visual utilizando o Visual Studio

Para depurar um aplicativo CGI C Visual utilizando qualquer versão do Visual Studio, siga estes passos:
  1. O IIS Admin Service tem interagir com o ambiente de trabalho. Para configurar este, siga estes passos:
    1. Abra o Painel de controlo e siga estes passos:
      • Para o Windows NT: Clique em Serviços .
      • Para o Windows 2000, Windows XP e Server: clique em Ferramentas administrativas e, em seguida, clique em Serviços .
    2. Faça duplo clique em Serviço Admin do IIS .
    3. No separador Iniciar sessão , seleccione a caixa de verificação Permitir que o serviço para interagir com o ambiente de trabalho .

      Nota Este artigo pressupõe que o serviço de administração do IIS é executado como sistema local.
    4. Pare e reinicie o serviço de administração do IIS.
  2. Antes de incluir o ficheiro Windows.h, adicione o seguinte código e, em seguida, criar uma versão de depuração do CGI:
    #define _WIN32_WINNT 0x0400
    					
  3. Cole o seguinte código no início da CGI:
    #ifdef _DEBUG
    char szMessage [256];
    wsprintf (szMessage, "Please attach a debugger to the process 0x%X (%s) and click OK",
          GetCurrentProcessId(), argv[0]);
    MessageBox(NULL, szMessage, "CGI Debug Time!",
          MB_OK|MB_SERVICE_NOTIFICATION);
    #endif
    					
  4. Inicie a aplicação CGI.
  5. Anexar um depurador (tal como WinDBG ou Visual C) para o CGI processo enquanto é apresentada uma caixa de mensagem.
  6. Quando o depurador anexado, abrir o ficheiro de origem e definir um ponto de interrupção e, em seguida, clique em OK .

    Quando a caixa de mensagem é fechada, o programa CGI retoma e o ponto de quebra irá ser visitas.

Utilizar WinDBG

Para depurar um aplicativo CGI com WinDBG, apesar de não ter de alterar qualquer código, é necessário estar familiarizado com o WinDBG e instalar as ferramentas de depuração. Pode transferir as ferramentas de depuração a partir do seguinte Web site da Microsoft:
Microsoft Debugging Tools
http://www.microsoft.com/whdc/devtools/ddk/default.mspx

Definir opções de serviço

Defina as opções de Execução de ficheiros de imagem para que quando o serviço (ou o programa CGI) é iniciado, começa no depurador. Certifique-se de que o serviço pode interagir com o ambiente de trabalho, conforme indicado neste artigo. Caso contrário, quando o programa CGI for iniciado, carrega o depurador e não a poderá ver.
  1. Inicie o Editor de registo (Regedt32.exe):

    Clique em Iniciar , clique em Executar e, em seguida, escreva regedt32 .
  2. Localize a seguinte chave de registo:
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image ficheiro execução segurança\]
  3. Crie uma subchave com o nome do ficheiro executável CGI (por exemplo, MyCGI.exe).
  4. A esta subchave, adicione o valor REG_SZ com o nome Debugger e o caminho completo para o depurador, mas omitir a extensão ".exe". Também pode adicionar quaisquer comandos para o depurador. A localização predefinida para instalar o WinDBG é a seguinte:
    "Debugger"="C:\\Debuggers\\windbg.exe"
    Nota O caminho que aponta para o depurador WinDBG não deve conter espaços ou extensões de ficheiro. Por exemplo, windbg, tal como mostrado na seguinte:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image ficheiro execução Options\yourCGI.exe "C:\windbg Debugger"=""
  5. Feche o Editor de registo.
  6. Parar e iniciar o serviço IISADMIN e então executar CGI programa.

    Nota Para o depurador apareça no ambiente de trabalho predefinido, a administração do IIS serviço deve ser executado como sistema local e tem de seleccionar a caixa de verificação Permitir serviço para interagir com o ambiente de trabalho . Para configurar este, avance para o passo 1 das instruções neste artigo.
  7. O depurador será iniciado quando a imagem para que o serviço do ficheiro executável é carregado na memória.
Nota Poderá ter de definir o valor da propriedade CreateProcessAsUser na metabase como false para anexar um depurador. Isto deve-se ao facto da conta que a aplicação de CGI é executada em poderá não herdará a definição Permitir que o serviço para interagir com o ambiente de trabalho para o serviço de administração do IIS quando o ficheiro executável CGI é gerado. Pode utilizar o script administrativo adsutil.vbs para definir a definição Permitir que o serviço para interagir com o ambiente de trabalho . Por predefinição, a definição é true . Por exemplo, utilize o seguinte comando:
w3svc/CreateProcessAsUser adsutil.vbs "false"

Referências

Para obter informações adicionais sobre a depuração, clique os números de artigo existente abaixo para visualizar os artigos na base de dados de conhecimento da Microsoft:
273639COMO: Iniciar serviços dependentes num depurador e IISAdmin
286350COMO: Utilizar ADPlus para resolução de problemas "Deixa de responder" e "Falha"
261871INFO: + E depuração recursos MTS
183480COMO: Depurar DLLs ISAPI no IIS 4.0 e IIS 5.0

Propriedades

Artigo: 238788 - Última revisão: 3 de dezembro de 2007 - Revisão: 4.7
A informação contida neste artigo aplica-se a:
  • Microsoft Internet Information Server 2.0
  • Microsoft Internet Information Server 3.0
  • Microsoft Internet Information Server 4.0
  • Microsoft Internet Information Services 5.0
  • Microsoft Internet Information Services version 5.1
  • Microsoft Internet Information Services 6.0
Palavras-chave: 
kbmt kbcgi kbhowto kbhowtomaster KB238788 KbMtpt
Traduçã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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 238788

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com