Pergunta

Quero implantar a versão de lançamento do meu aplicativo feita em C#.

Quando eu construo usando o Release Config, eu ainda posso ver que .pdb Os arquivos são produzidos, o que significa que meu aplicativo ainda pode ser depurado. Isso também significa que algumas informações de depuração estão presentes em algum lugar do meu código, diminuindo um pouco a velocidade.

Se isso for verdade, como posso suprimir completamente alguma informação de depuração produzida nos binários? Você também sabe o motivo de ter lançamento .pdb? o Release Configuração tem o Optimize code verificado, e apenas o TRACE constante é definida, não DEBUG.

Obrigado por ajudar.

Foi útil?

Solução

Se você deseja desativar a geração de arquivos PDB, você precisa usar o "Advanced build settings" diálogo disponível nas propriedades do projeto depois de clicar no "Advanced..." botão "localizado na parte inferior do Build aba.

Definir Output - Debug info: para None Para configuração de construção de liberação e nenhum arquivo PDB será gerado.

Outras dicas

O padrão também é gerar PDBs para compilações de liberação. Esse é um recurso e você não deve desativá -lo. Gerar PDBs significa que você pode obter mais informações ao depurar. O desempenho do código não é afetado de forma alguma pela presença de arquivos PDB.

Você não precisa enviar o .pdbs com sua implantação de liberação, mas eles são úteis para manter por perto - por exemplo, você pode depurar remotamente o código em execução em uma máquina diferente usando os PDBs em sua máquina para obter os números de linha de onde exceções ocorrer.

Sem o uso dos .PDBs, números de linha e nomes de arquivos não estão incluídos no Stacktraces, por isso torna muito mais difícil depurar.

Você controla a geração de PDB / símbolo nas propriedades do projeto em Build -> Avançado ... -> Informações de depuração:. As opções são:

  • Nenhum (sem informações de símbolo)
  • cheio (A .pdb será produzido e algumas informações de símbolo são incorporadas na montagem)
  • PDB somente (um .pdb será produzido, mas a assembléia não será impactada)

Ver http://msdn.microsoft.com/en-us/library/8cw0bt21%28vs.80%29.aspx Para maiores informações.

EU fortemente Recomenda que você escolha a opção somente PDB, não A opção Nenhuma, pois ainda fornece algumas informações de símbolo sem afetar a montagem - você provavelmente descobrirá que essa é a configuração atual que você possui nas compilações de lançamento.

Ter o compilador gerar um .pdb O arquivo não é mutuamente exclusivo para otimizar o código.

Para mais informações sobre este assunto, leia estes blog entradas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top