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.
É altamente recomendável que todos os usuários atualizem para Microsoft (IIS) versão 7.0 em execução no Microsoft Windows Server 2008. O IIS 7.0 aumenta significativamente a segurança de infra-estrutura da Web. Para obter mais informações sobre tópicos relacionados à segurança do IIS, visite o seguinte site:
Este artigo descreve um método que você pode usar para depurar uma extensão de servidores da Internet (ISAPI) ou um arquivo DLL de filtro. Você deve ter o Microsoft Visual C++ instalado no computador que está executando o Microsoft Internet Information Services (IIS).
Como depurar DLLs ISAPI no IIS 4.0, IIS 5.0 e IIS 5.1
Criar uma versão de depuração da DLL ISAPI. Por padrão, o subdiretório de depuração do projeto agora irá conter *.dll e dois arquivos com uma extensão *.pdb (por exemplo, c:\MyProj\debug diretório).
Criar uma raiz virtual com permissões de execução no gerenciamento IIS Console e defina seu local físico para o diretório de depuração do projeto (por exemplo, raiz virtual /MyProj será mapeada para c:\MyProj\Debug).
Verifique se que o serviço W3SVC está em execução. Iniciá-lo se não estiver (você pode usar este comando: net start w3svc ).
Inicie o Microsoft Developer Studio. No menu Build , clique em Iniciar Debug e, em seguida, clique em Anexar processo . Selecione a opção Mostrar processos do sistema . Em um computador baseado no Microsoft Windows 2000, às vezes, não processos serão exibido na lista de processos.
Para obter informações adicionais sobre esse problema, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
235434
(http://support.microsoft.com/kb/235434/
)
CORRECÇÃO: "Anexar ao processo" lista está vazia
Para anexar um depurador a um processo específico, clique na guia processos do Gerenciador de tarefas , clique o processo que deseja com o botão direito do mouse e, em seguida, clique em Depurar .
Na lista de processos em execução, selecione INETINFO .
No menu Project , clique em configurações e, em seguida, clique na guia Debug . Na lista categoria , clique em DLLs adicionais .
Neste ponto, você deverá ver a mensagem informando que os símbolos DLL foram carregados.
Adicionar a extensão ISAPI ou DLL de filtro à lista.
No menu arquivo , clique em Abrir e, em seguida, coloque o arquivo de origem para a DLL. Defina um ponto de interrupção no código-fonte e, em seguida, enviar uma solicitação ao IIS do navegador (por exemplo, http:// server/myproj/mydll .dll). Se o depurador emite um alarme sonoro e recusa definir o ponto de interrupção, o motivo para isso pode ser uma incompatibilidade entre os arquivos DLL e PDB. Recrie a DLL para solucionar essa situação.
Observação : se o aplicativo está configurado para executar fora de processo no IIS 4.0 (ou no IIS 5.0 ou IIS 5.1 com uma configuração de Proteção do aplicativo de Médio ou alto ), ao anexar o depurador a Inetinfo.exe, isso não interromperá a execução de uma extensão DLL. Você deve anexar o depurador ao processo MTX.exe (ou Dllhost.exe em um sistema baseado no Microsoft Windows XP ou Windows 2000) que hospeda a DLL ISAPI. Porque pode haver mais de um processo MTX.exe (Dllhost.exe) em execução ao mesmo tempo, talvez você precise adicionar código para a DLL ISAPI que mostra a identificação de processo (PID) em que a DLL é carregada. Após o PID é conhecido, você pode anexar o depurador para o MTX (DLLHOST) com a identificação correspondente. Para fazer isso, use o seguinte código:
#define _WIN32_WINNT 0x0400
#ifdef _DEBUG
char szMessage [256];
wsprintf (szMessage, "Please attach a debugger to the process 0x%X and click OK",
GetCurrentProcessId());
MessageBox(NULL, szMessage, "ISAPI/Filter Debug Time!",
MB_OK|MB_SERVICE_NOTIFICATION);
#endif
também, observe que a configuração de Proteção do aplicativo de mídia é a configuração padrão do IIS 5.0.
Se você executar IIS 6 em modo de isolamento do IIS 5, extensões e filtros são carregados por Inetinfo.exe. Você pode usar as etapas na seção "Como depurar DLLs ISAPI no IIS 4.0, IIS 5.0 e IIS 5.1" para depurar uma DLL de filtro ou uma extensão ISAPI arquivo quando o IIS 6 é executado no modo de isolamento do IIS 5.
Se você executar o IIS 6 no modo de isolamento do processo de trabalho, extensões e filtros são carregados por W3wp.exe. Para depurar uma extensão ISAPI ou um filtro DLL no Microsoft Visual C++. NET, execute estas etapas:
Clique em Iniciar , clique em Executar , digite Cmd e, em seguida, clique em OK .
No prompt de comando, digite net stop W3svc e, em seguida, pressione ENTER.
Abra sua extensão ISAPI ou um projeto DLL de filtro no Visual C++ .NET.
No menu Project , clique em Propriedades .
Clique em depuração e, em seguida, digite o caminho para o arquivo de w3wp.exe no seu computador na caixa comando .
Digite - a depuração na caixa de Argumentos de comando e, em seguida, clique em OK .
Defina os pontos de interrupção no projeto.
No menu Debug , clique em Iniciar .
Observação Este método depuração executa W3wp.exe no contexto de segurança do usuário. Isso não é o contexto de segurança no qual W3wp.exe normalmente é executado.
O processo para depurar extensões ISAPI e filtros no IIS é totalmente explicado na documentação do Microsoft Developer Network (MSDN). Esta documentação pode ser encontrada no seguinte local:
Web Development
Server Technologies
Internet Information Services (IIS)
SDK Documentation
Internet Information Services 5.1
Programmer's Guide
Developing ISAPI Extension and Filters
Debugging ISAPI Extensions and Filters
Observe que esta documentação não está instalada a opção de instalação padrão do NT Option Pack ou adicionando o IIS para o Windows 2000 ou o Windows XP. Para obter esta documentação, visite o seguinte site da MSDN:
Você também pode baixar esta documentação em formato de Ajuda compilado para o disco rígido local. Para fazer isso, visite o seguinte site de download Microsoft:
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: 183480
(http://support.microsoft.com/kb/183480/en-us/
)
Quanto esforço foi necessário para seguir os procedimentos deste artigo?
Muito baixo
Baixo
Moderado
Alto
Muito alto
Diga-nos o porque e o que podemos fazer para melhorar esta informação
Obrigado! Seus comentários são usados para nos ajudar a aperfeiçoar o conteúdo de suporte. Para obter mais opções de ajuda, visite a Home Page de Ajuda e Suporte.