Pergunta

Eu quero depurar um aplicativo no Visual Studio, mas eu só tenho o código fonte para uma classe. Eu só preciso passo através de uma única função nesse arquivo, mas eu não entendo o que eu preciso para fazê-lo. Eu acho que os passos são normalmente algo como isto:

  1. Abra um arquivo no VS
  2. Load nos "símbolos" (ficheiro.PDB)
  3. anexar ao processo em execução

Eu sei como fazer # 1 e # 3, mas eu não como fazer # 2 sem a ficheiro.PDB. É possível gerar o arquivo .PDB para este fazê-lo funcionar? Obrigado!

Foi útil?

Solução

Você precisa ficheiros.pdb * (etapa 2 do seu post) Esses arquivos contêm mapeamento entre código fonte e compilados montagem. Portanto, o seu passo estão corretas. Se o arquivo de origem tem diferenças com o arquivo original, conjunto marca de verificação "Permitir que o código-fonte para ser diferente da versão original" na caixa de diálogo Propriedades da BP.

pontos de interrupção e TracePoints no Visual Studio

Se você não tem PDB arquivos você pode tentar descompilar seu projeto usando Reflector.FileDisassembler ou FileGenerator Para refletor . Eles você pode recompilar esses arquivos para get PDBs

Também dê uma olhada Deblector -. Depuração suplemento para Refletor

Outras dicas

Você precisa do arquivo de símbolo de arquivo (.PDB) que pertence ao aplicativo que você está tentando depurar.

MSDN: Arquivos PDB

O depurador Visual Studio usa o caminho para o PDB no arquivo EXE ou DLL para localizar o arquivo project.pdb. Se o depurador não pode encontrar o arquivo PDB naquele local, ou se o caminho é inválido, por exemplo, se o projeto foi movido para outro computador, as pesquisas depurador o caminho que contém o EXE seguido pelos caminhos símbolo especificado na caixa de diálogo Opções . Este caminho é geralmente a pasta Debugging no nó símbolos. O depurador não irá carregar um APO que não coincide com o binário que está sendo depurado.

O arquivo de símbolo é o arquivo PDB. Se você colocar que ao lado do exectuable, que irá carregar os símbolos, e aponte para o arquivo de origem.

No seu caso 'símbolos' significa um arquivo pdb para a montagem que você deseja depurar. O depurador não exige que você tem toda a fonte, assim que você tem o PDB correspondente. A APO é gerado durante a construção do conjunto, e não você, infelizmente, não pode criar um após o fato. Se você não tem o APO terá de depuração em um nível inferior, em seguida, o código-fonte.

Se você construiu a montagem em sua máquina, em seguida, os símbolos serão encontrados quando você anexar. Nesse caso, basta definir um ponto de interrupção na fonte e fazer o que é necessário para fazer esse código prazo, e você vai bater o ponto de interrupção.

Se você não construí-lo você precisa encontrar o APO para a montagem. A janela módulos encontrado em Debug / Windows / Módulos muitas vezes podem ajudar, dizendo-lhe os assemblies carregados no processo junto com a informação de versão e data e hora.

Você vai precisar essa informação nos casos em que pode haver várias versões de uma montagem (tais como manter muitos constrói todas as noites, ou a última de 20 ou mais versões de integração contínua constrói).

esperança que ajuda.

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