CORRECÇÃO: Recebe uma mensagem de erro "Excepção não processada" quando executa uma aplicação que utiliza o código C válido

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

Nesta página

Sintomas

Alguns código C válido pode compilar correctamente e, em seguida, pode não funcionar correctamente. Quando executa a aplicação, poderá receber a seguinte mensagem de erro:
Unhandled excepção: System.InvalidProgramException:

Causa

Este problema está relacionado com a optimização de JIT. Se utilizar as seguintes instruções para desactivar a optimização de JIT no ficheiro .ini para a aplicação, o erro não ocorre:
[.NET Framework Debugging Control] 
GenerateTrackingInfo=1 
AllowOptimize=0

Resolução

Agora é disponibilizada pela Microsoft uma correcção suportada, mas destina-se apenas a corrigir o problema descrito neste artigo. Aplique-a apenas em sistemas que tenham este problema específico. Esta correcção poderá submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afectado por este problema, recomendamos que aguarde pelo próximo service pack do Microsoft .NET Framework 1.0 que contenha esta correcção.

Para resolver este problema imediatamente, contacte o suporte técnico da Microsoft para obter a correcção. Para obter uma lista completa de números de telefone do suporte técnico da Microsoft e informações sobre os custos de suporte, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota Em casos especiais, os custos normalmente inerentes às chamadas de suporte poderão ser anulados, se um técnico de suporte da Microsoft determinar que uma actualização específica resolverá o problema. Os custos normais do suporte serão aplicados a problemas adicionais e questões de suporte que não se enquadrem na atualização específica em questão.

A versão inglesa desta correcção tem os atributos de ficheiro (ou posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas no formato de universal hora (UTC) coordenada Coordinated. Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador fuso horário na ferramenta Data e hora no painel de controlo.
   Date         Time   Version       Size       File name
   ---------------------------------------------------------
   14-Dec-2002  01:54  1.0.3705.387    303,104  Mscorjit.dll
   14-Dec-2002  12:51  1.0.3705.387  1,953,792  Mscorlib.dll
   14-Dec-2002  01:54  1.0.3705.387  2,269,184  Mscorsvr.dll
   14-Dec-2002  01:55  1.0.3705.387  2,269,184  Mscorwks.dll

Mais Informação

Passos para reproduzir o comportamento

  1. Compile o seguinte exemplo de código C. Utilize o / clr parâmetro.
    main()
    {
    	int i;
    	int *j=i;
    	*j = *j % (int)0x80000000;
    }
  2. Execute a aplicação. Recebe a mensagem de erro.

    Nota Se não utilizar o / clr parâmetro, a aplicação funciona correctamente e não recebe a mensagem de erro.
Para obter informações adicionais sobre a terminologia utilizada para descrever actualizações de produtos Microsoft, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
824684Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

Propriedades

Artigo: 811672 - Última revisão: 11 de outubro de 2005 - Revisão: 3.4
A informação contida neste artigo aplica-se a:
  • Microsoft .NET Framework 1.0
Palavras-chave: 
kbmt kbhotfixserver kbqfe kbnetframe100presp3fix kbqfe kbfix kbbug KB811672 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: 811672

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