Pergunta

Existe alguma maneira para definir um caminho personalizado para arquivos de dados do programa (* .pdb) em C # no Visual Studio 2008? Com C ++ isso era bastante simples (Configurações do projeto -> Linker -> Depuração -> Gerar Programa Database File)., Mas por algum motivo a Microsoft parece ter removido (ou oculto)-lo para C #

Estou ciente de que o uso de "padrão" é ter APO está localizado no diretório bin ao lado do executável, mas esse diretório está se tornando uma bagunça assim que eu realmente prefiro que eles estão localizados em / obj, que é o que eu sempre costumava fazer em C ++.

Obrigado!

Foi útil?

Solução

O compilador C # suporta isto com o / PDB opção de linha de comando . Essa opção, porém, não está exposta na tab Build do IDE.

O processo de compilação IDE já pede o compilador C # para colocar o arquivo .pdb no obj \ Debug. Uma cópia do mesmo acaba no bin \ Debug por uma tarefa MSBuild CopyFilesToOutputDirectory nomeado. Esta tarefa está configurado no Microsoft.Common.targets, um arquivo localizado na pasta c: \ windows \ microsoft.net \ framework \ diretório v3.5 para VS2008. Você poderia tecnicamente editar este arquivo e remover o elemento <Copy> que copia o PDB. Preste atenção no aviso na parte superior do arquivo, certifique-se de fazer uma cópia de backup antes de modificá-lo.

Eu acho que o problema básico que você vai encontrar isso é que isso afeta todas constrói de todos os projetos. E que o depurador já não pode encontrar o arquivo PDB. Esse seria o último show-rolha.

Outras dicas

Adicionar evento postbuild e copiar um APO para o local desejado)

Os ficheiros.pdb tem de residir na mesma pasta que o .exe e .dll de fim de carga.

arquivos PDB são carregados sobre a manipulação de exceção, e necessário para rastreamento de volta para a linha exata no código onde suas exceções acontece.

O que você pode fazer é mover o PDB de um servidor símbolo durante a compilação em vez de publicá-los com o aplicativo. Em seguida, puxe-los em quando se analisa um rastreamento de exceção.

Confira este pós para obter informações sobre arquivos PDB, servidores de símbolos e muito mais.

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