O Visual Studio não quebra em exceções no evento Form_Load
Recentemente atualizei meu laptop do Vista 32bit com o Visual Studio 2005/2008 instalado para o Windows 7 x64 com apenas o Visual Studio 2008 instalado. Portanto, não sei se isso é um problema do "Windows 7" ou apenas uma configuração no Visual Studio.
Meu problema é que as exceções no evento Form_Load () são engolidas sem notificá-lo, o que dificulta depurar erros, porque às vezes nem percebo uma exceção.
Digamos que eu tenha esse código (o código é VB.NET, mas o estilo C # comenta, porque o marcador de sintaxe so não reconhece 'como um sinal de comentário)
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
// Outside the Debugger the exception triggers the default
// "Unhandled Exception" Dialog which is correct.
// Withing 2008 IDE the debugger doen not break like it
// should. However the exception still occures because
// this text is printed to the Output Window:
// A first chance exception of type 'System.Exception'
// occurred in ExceptionTest.exe
Throw New Exception("This Exception gets swallowed")
End Sub
Private Sub Button1_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button1.Click
// This exception causes the Debugger to break at this line
Throw New Exception("This Exception works fine")
End Sub
End Class
Eu encontrei uma sugestão para verificar a caixa de seleção "lançada" na caixa de diálogo de exceção ("CTRL + D, E"). Se eu fizer isso, o depurador será interrompido na exceção Form_Load () conforme desejado, mas também será interrompido em todas as exceções tratadas, por exemplo:
Try
DoSmthThatThrowsArgumentException() // Debugger breaks here
Catch ex as ArgumentException
LogWriter.Write(ex.ToString())
End Try
Alguém tem um clou como configurar o depurador VS2008 para se comportar bem no evento Form_Load ()? De acordo comesta postagem parece que isso é algo que surgiu de repente com o visual studio 2008.