Como faço para descobrir o que originalmente causou uma exceção, se ele é jogado a partir do código da Microsoft?

StackOverflow https://stackoverflow.com/questions/685407

Pergunta

Eu tenho dois controles contendo DataGridViews em diferentes painéis em um DockPanel. Se estiver em modo de edição e eu mudar painel, recebo uma NullReferenceException jogado de dentro método DataGridView do EndEdit(). O rastreamento de pilha não ir mais fundo do que isso e a exceção não contém mais informações.

Eu olhei esse método no refletor, e eu não posso ver nada, obviamente nulo. Eu suspeito que o problema é realmente no meu código, mas a exceção está sendo relançada de dentro do código da Microsoft e que de redefinir o rastreamento de pilha. Como faço para descobrir o que originalmente causou a exceção?

Foi útil?

Solução

Se você suspeitar de um bug no código de MS, você pode baixar os símbolos de depuração do servidor símbolo, carregá-los e segui-lo através de depuração? assim como .

Note que os símbolos estão sujeitos a uma das várias licenças. Isso pode afetar você, se (por exemplo) você trabalha em "mono" contribuições etc.

Outras dicas

Você já olhou para a propriedade InnerException?

Siga as instruções para configurar MS e servidor de símbolos < a href = "http://blogs.msdn.com/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code.aspx" rel = "nofollow noreferrer" > servidor de origem 1 . Defina o depurador para quebrar em NullReferenceException sendo lançada. Então, ou você vai ter o código fonte completo para depuração, ou pelo menos um rastreamento de pilha completa.

1 Note, o QFE listados está incluído no SP1.

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