O que é um ficheiro PDB?

o que é um ficheiro PDB e como posso excluí-lo da pasta de lançamento quando reconstruir a minha solução?

 186
Author: Richard Harrison, 2010-10-10

4 answers

Um ficheiro PDB contém informação para o depurador trabalhar. Há menos informação numa compilação de lançamento do que numa compilação de depuração. Mas se você quiser que ele não seja gerado de todo, vá para as propriedades de construção do seu projeto, selecione a configuração de Lançamento, clique em "Advanced"..."e em "Debug Info"pick " None".

 180
Author: Jon Skeet, 2016-06-02 11:57:03

Eu tinha originalmente feito a mim mesmo a pergunta "Eu preciso de um arquivo PDB implantado na máquina do meu cliente?", e depois de ler este post, decidiu excluir o arquivo.

Tudo funcionou bem, até hoje, quando eu estava tentando descobrir por que uma caixa de mensagens contendo um {[[[0]} estava faltando a informação de arquivo e número de linha - necessário para solucionar a exceção. Eu reli este post e encontrei a pepita chave da informação: que embora o PDB não seja necessário para que o aplicativo seja executado, é necessário que os números de arquivo e linha estejam presentes no texto StackTrace. Eu incluí o arquivo PDB na pasta executável e agora tudo está bem.

 88
Author: BCA, 2016-06-02 11:55:24

PDB é uma abreviatura para Pprograma Data Base. Como o nome sugere, é um repositório (armazenamento persistente, como bases de dados) para manter a informação necessária para executar o seu programa no modo de depuração. Ele contém muitas informações importantes relevantes necessárias enquanto você depura o seu código (em Visual Studio), por exemplo, em que pontos você inseriu pontos de ruptura, onde você espera que o depurador para quebrar em Visual Studio.

Esta é a razão pela qual muitas vezes Visual Studio falha em atingir os pontos de ruptura se você remover o *.ficheiros pdb das suas pastas de depuração. Visual Studio depurador também é capaz de lhe dizer o número preciso de linha de arquivo de código em que uma exceção ocorreu em um traço de pilha com a ajuda de *.ficheiros pdb. Então efetivamente os arquivos pdb são realmente uma vantagem para os desenvolvedores enquanto depura um programa.

Geralmente não se recomenda excluir a geração de *.ficheiros pdb. A partir de stand-point de lançamento de produção no máximo o que você deve ser fazer é criar os arquivos pdb, mas não enviá-los para o site do cliente no instalador de produtos. Preserve todos os arquivos pdb gerados em um servidor de símbolos de onde ele pode ser usado/referenciado no futuro, se necessário. especialmente para os casos em que depura problemas como o estoiro do processo. Quando começar a analisar os ficheiros de despejo do estoiro e se o seu *original.os arquivos pdb criados durante o processo de construção não são preservados, então o Visual Studio não será capaz de fazer a linha exata de código que é causando o acidente.

Se ainda assim quiseres desactivar a geração de *.os ficheiros pdb no seu conjunto para qualquer lançamento, vão então para as propriedades do projecto -> compilar a página -> carregue no botão Avançado -> escolha Nenhuma para o campo "depurar a informação" - > carregue em OK, como aparece na fotografia abaixo.

None Debug Info setting for a C# Project

Nota : Esta configuração terá de ser feita separadamente para as configurações de compilação "Debug" e "Release".

 59
Author: RBT, 2018-02-28 11:05:49

O ficheiro PDB contém informação usada pelo depurador. Não é necessário executar o seu aplicativo e não precisa ser incluído em sua versão lançada.

Pode desactivar os ficheiros pdb de serem criados em estúdio Visual. Se estiver a construir a partir da linha de comandos ou de um programa, então omita o botão /Debug.

 11
Author: Mark Byers, 2016-06-02 11:54:07