Pergunta

Por que um show de rastreamento de pilhas "Linha 0", mas apenas para um quadro no rastreamento da pilha?

por exemplo.

...
at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader()
at My.LibraryA.Some.Method():line 16
at My.LibraryB.Some.OtherMethod():line 0
at My.LibraryB.Some.Method():line 22
at My.LibraryA.Some.Method():line 10

Fundo:

Eu tenho um aplicativo que está falhando com uma exceção e está registrando um rastreamento de pilha no seu arquivo de log. Quando a aplicação foi construída, todas as montagens foram compiladas com informações completas de depuração (propriedades do projeto -> Build -> Advanced -> Informações de depuração -> Full) e assim os arquivos PDB foram gerados. Para me ajudar a diagnosticar de onde vem o erro, retire os arquivos PDB no aplicativo bin diretório e reproduziu a exceção. Todos os números de linha para cada quadro da pilha parecem corretos, com exceção de um que exibe "Linha 0" como sua fonte.

Foi útil?

Solução

De fato, isso foi o método que ele sugeriu, como Eric sugeriu.

Consegui reproduzir o erro original localmente, mas somente ao compilar em uma construção de liberação. Como eu tinha o PDBS, pude passar pelo código e encontrar o problema.

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