Algo asi corto y importante q puedo decirte es q el debuger es una herramienta muy importante para identificar los posibles errores y claro esta q podas ver sus causas. Por ejemplo al enviar variables nulas a una función o asignar valores incorrectos a las variables, bueno no terminaria de explicarte nunca.
Lo primero q deberas hacer es ver donde se produce el error entonces le insertas un breakpoint justo antes de esta linea para ver si los valores q toman las variables u objetos son los q tu qusieras. Para insertar un breakpoint solo haz clic secundario y la opción insert breakpoint, para quitarlo clear breakpoint.
Espero haberte enseñado algo.......Saludos