2009-06-24 8 views
18

estoy tratando de ver una variable con Xcode. Estoy siguiendo las instrucciones de here haciendo una pausa en un punto de interrupción, seleccionando Ejecutar> variables de la vista> .... pero con la excepción de "Activar Formateadores de datos" el resto de las opciones son todos de color gris. ¿Algunas ideas?variables de ballenas en Xcode

Estoy usando Xcode versión 3.1.3.

+1

una vez que llegue a un punto de interrupción debería poder pasar el mouse sobre un punto de interrupción y se mostrará la información de las variables. – zpesk

+0

¿Estás seguro de que estás ejecutando una compilación de depuración con la optimización desactivada? – Dolphin

+0

Intenté una compilación de depuración en lugar de la versión, pero el problema persiste. – Stu

Respuesta

19

No he conseguido que los puntos de vigilancia creados desde el menú Ejecutar funcionen para mí, desafortunadamente. Una cosa a tener en cuenta es que cuando una variable sale del alcance, el punto de vigilancia puede dejar de ser válido.

Si no le importa profundizar un poco más, puede usar algunos comandos de bajo nivel gdb para establecer un punto de observación para la dirección de la memoria. Por ejemplo, en la guía a la que se vincula, muestran cómo ver la variable path que es un puntero con el valor 0xbfffeb70. Para configurar manualmente un punto de observación para esa dirección, haga clic en la consola depurador (donde se imprime la salida de depuración) después de la "(BGF)" del sistema y escriba algo como esto:

watch *((int*)0xbfffeb70) 

La sintaxis críptica es necesario porque GDB espera entradas como expresiones C Para un poco más de detalle, visit this link y vaya a la sección titulada "Uso de puntos de observación de hardware". (Estoy probando en una máquina Intel, no estoy seguro de cómo lo maneja PowerPC.) Cuando establece puntos de observación de esta manera, Xcode lo alertará con una hoja desplegable cuando se alcance un punto de observación y le indicará cómo se modificó el valor, y gdb imprimirá la misma información en la consola.

+2

Si desea ver un miembro de un método de C++, esta variante me pareció inmensamente útil: 'watch -location mTextFormatted'. Revelado un error desagradable relacionado con el elenco estático vs dinámico;) –

+2

La alternativa lldb sería 'expresión de conjunto de puntos de vigilancia - 0xbfffeb70' o' w s e - 0xbfffeb70' para abreviar. –

7

Me acabo de encontrar con este problema. Aquí hay una solución: haga clic con el botón derecho en el nombre de la variable y seleccione "Ver variable en la ventana" en el menú que aparece. Debe estar cerca de la parte inferior.

2

Las respuestas dadas aquí solo funcionan si usa el compilador gdb. Para aquellos de ustedes que buscan una opción para establecer un punto de observación con el compilador lldb, tengo malas noticias:

No funciona el jet (XCode 4.3.2 con lldb 3.1) aunque el lldb dice que puede.

Echa un vistazo this Correo electrónico. Los comandos lldb en comparación con los gdb s se pueden encontrar here

+0

'wa s e - ' funcionó para mí, por ejemplo: 'wa s e - 0xbfffeb70' –

1

yo estaba tratando de resolver esto en XCode 5. Finalmente encontré una "vista Variables" en la parte inferior derecha de la consola de salida. Es el pequeño rectángulo que será gris a la izquierda, blanco a la derecha si no está habilitado. No estoy seguro de si esto está en XCode 3, pero espero que la mayoría de las personas se haya actualizado de todos modos.

2

Añadir un punto de interrupción. Haga clic derecho en la lista de vigilancia de la zona de depuración y seleccione "Agregar expresión ..."

enter image description here

Si usted está recibiendo un menú diferente, usted tiene que hacer clic fuera de la variable resaltada en ese momento por lo que no hay nada resaltado cuando haces clic derecho.

Cuestiones relacionadas