2010-07-09 6 views
6

Normalmente uso gdb backtrace para depurar mi aplicación, pero recientemente ya no puedo hacerlo cuando pruebo en el simulador de iPhone. La palabra azul gdb deja de mostrarse en la consola y no pasa nada cuando escribo "bt" o "backtrace". Todavía puedo construir y depurar correctamente en el dispositivo.No más gdb en consola XCode cuando compila para el simulador de iPhone

La versión de My XCode es 3.2.3. ¿Hay alguna manera de activar manualmente el gdb (más importante aún, el backtrace)?

Respuesta

0

Si el programa se cuelga, que es lo que suena. Puede presionar el botón 'Pausa' en la consola del depurador o en la ventana Depurador para interrumpir la aplicación y ver dónde se está ejecutando actualmente.

+0

Normalmente, tan pronto como ejecuto la aplicación, la palabra gdb azul debe aparecer en la consola, y si la aplicación falla, puedo usar la barra inversa. Ahora no tengo nada de esto. Limpiar, reiniciar el simulador, reiniciar el simulador, reiniciar XCode, reiniciar Mac ... no ayudar, tal vez la única solución que queda es reinstalar el SDK. – iamj4de

+0

Entonces, ¿el Xcode simplemente regresa al "estado de aplicación no en ejecución" (es decir, el botón Tarea en la barra de herramientas está atenuado) o el botón Tarea permanece habilitado en la barra de herramientas? –

+0

Se mantiene habilitado. – iamj4de

1

Como Jack señala, el botón de Pausa activará manualmente la traza de atrás, que es lo que usted solicitó gdb &. Es posible que tenga una instalación incorrecta: sucede, a veces, intente eliminar su carpeta/Developer & reinstalando. XCode 3.2.3 y el depurador funcionan bien, lo uso varias veces al día.

En particular, CMD-Y es "construir & carrera con depurador", mientras que CMD-R se acaba de "construir & plazo" (sin depurador, por defecto), así que asegúrese de que está utilizando CMD-Y.

Aparte: un problema que sigo encontrando es que, después de que la aplicación se cierra, el icono de la señal roja no reconoce que la aplicación ha finalizado, por lo que tengo que "detenerla" nuevamente. Creo que esto se debe a que iOS-4 mantiene las aplicaciones ejecutándose en segundo plano.

0

Además, verifique y asegúrese de que su carpeta de inicio .gdbinit está en buen estado. Apartarlo si existe y ver si el problema desaparece.

0

No sé si esta es exactamente la misma situación, pero puede ayudar. Mi iPhone estaba en el firmware 4.0.2, pero mi Xcode SDK era para el firmware 4.0.1. Normalmente Xcode se quejaba de que necesitaría actualizar a un Xcode más nuevo que admitía 4.0.2, esta vez no.

Me estaba golpeando la cabeza por qué se podían establecer puntos de interrupción, pero el depurador no se detuvo en mi punto de interrupción (los puntos de interrupción eran de color naranja, lo que indicaba que los símbolos no estaban cargados). Decidí reiniciar mi iPhone y ahora Xcode mostró la advertencia (cuando no lo hacía antes). La actualización a Xcode para 4.0.2 solucionó mi problema, por supuesto. Entonces, ¿tu Xcode no está actualizado para un firmware más nuevo?

0

Tuve un problema similar, pero no recuerdo las circunstancias exactas. Resultó que el SDK base (en la pestaña de creación de información del proyecto) se configuró en el dispositivo y no en el simulador. Un poco de un tiro en la oscuridad, pero probablemente valga la pena verificarlo.

+2

No creo que sea importante. Intenté cambiar el Base SDK del dispositivo al simulador, pero el problema aún persiste y, según mi memoria, funcionaba bien sin importar el valor del SDK base. – iamj4de

Cuestiones relacionadas