2010-02-12 24 views
5

Tengo una variable de instancia con varios miembros, muchos de los cuales tienen sus propios miembros y así sucesivamente. Usando el depurador y las variables de observación, encontré una variable de cadena con un valor específico que necesito sumergiéndome en los miembros de esta variable.Encontrar una variable con un valor dado en VS2008

Sin embargo, después de pasar un tiempo en otras cosas y volver a esto, ahora no puedo encontrar dónde se encuentra este valor. Cuando tengo mi aplicación en pausa, ¿hay alguna manera de buscar los valores de las variables en el contexto actual para un valor dado?

para aclarar, si tengo la estructura dada:

myVariable 
| 
|--aMember1 
| |--subMember = "A value" 
| 
|--aMember2 
    |--subMember = "Another value" 

¿Hay alguna manera (posiblemente utilizando la lista de vigilancia en VS depurador) para buscar myVariable para cualquier miembro o submember con el valor "Valor" , volviendo a mí el camino myVariable->aMember->subMember?

Respuesta

2

No esta característica no existe en Visual Studio 2008 (o en cualquier otra versión).

Lo que puede hacer es agregar un ID para el valor la primera vez que lo encuentre. Simplemente haga clic derecho en el valor y seleccione "Crear ID de objeto". Esto creará una identificación única que se muestra en el valor, como 1 #. Luego puede escribir este valor en la ventana del reloj en cualquier punto futuro y obtener el valor para regresar.

+0

¿Esa identidad es para el valor en sí o para la referencia del objeto? Es decir, si escribo '1 #' en mi lista de observación después de hacer una identificación de objeto, ¿cambiará el valor de 1 # con la variable de la que lo obtuve o permanecerá igual? – Aaron

+0

No importa, encontré la respuesta yo mismo: http://geekswithblogs.net/sdorman/archive/2009/02/14/visual-studio-2008-debugging-ndash-the-watch-window.aspx Gracias por su respuesta . – Aaron

1

Puede usar BugAid (un complemento para Visual Studio), que le permite search para los miembros que desea ver desde dentro de la información contextual o la ventana de QuickWatch.

Ver ejemplo en la siguiente captura de pantalla:

Search Feature

Si hace clic en la variable que ha encontrado en la ventana Inspección rápida de BugAid (o clic derecho y elegir la opción "añade al reloj"), le mostrará la ruta completa del miembro (como en myVariable.aMember.subMember).

Descripción completa: Soy el cocreador de "BugAid".

Cuestiones relacionadas