Detectar cuál es el objeto de destino cuando se lanza NullReferenceException

Estoy seguro de que todos hemos recibido la excepción maravillosamente vaga "Referencia de objeto no configurada para instancia de un Objeto" en algún momento u otro. Identificar el objeto que es el problema es a menudo una tarea tediosa de establecer puntos de interrupción e inspeccionar a todos los miembros en cada declaración.

¿Alguien tiene algún truco para identificar fácil y eficientemente el objeto que causa la excepción, ya sea por medios programáticos o de otra manera?

--editar

Parece que fui vago como la excepción =). El punto es no tener que depurar la aplicación para encontrar el objeto errante. El compilador / tiempo de ejecución sabe que el objeto ha sido asignado / declarado, y que el objeto aún no ha sido instanciado. ¿Hay una manera de extraer / identificar esos detalles en una excepción capturada?

@ W. Craig Trader

Su explicación de que es el resultado de un problema de diseño es probablemente la mejor respuesta que podría obtener. Soy bastante compulsivo con la codificación defensiva y he logrado eliminar la mayoría de estos errores después de corregir mis hábitos con el tiempo. Los restantes soloretocar No tengo fin, y me llevan a publicar esta pregunta en la comunidad.

Gracias por las sugerencias de todos.