2009-09-14 10 views
41

Estoy empezando con el desarrollo de Cocoa en xcode, haciendo el ejemplo de Hello World. Estoy hasta el paso 6 de la sección "runtime debugging", que esXCode Debugger: ¿Por qué solo me muestra el ensamblador?

Utilizando el paso sobre el botón en la barra de herramientas de depuración, comience a recorrer el código. A medida que se ejecuta cada línea de código, puede examinar el estado del programa. El valor de una variable a veces se dibuja en rojo para indicar que el valor se modificó en el último paso. Observe que el depurador hace una pausa antes de ejecutar la línea indicada. Después de cada pausa, puede agregar puntos de corte adicionales o elegir Depurar> Reiniciar para finalizar la aplicación y comenzar una nueva sesión de depuración.

ahora lo que he estado tirando de mi pelo durante la última hora es el hecho de que este depurador solo me mostrará el código de ensamblaje. Puedo seleccionar manualmente mi archivo de código fuente, pero tan pronto como hago clic en "Paso sobre", vuelvo a la vista de ensamblador. ¡No puedo, por la vida de mí, descubrir cómo desactivar el ensamblador y hacer que me muestre mi código fuente!

Respuesta

109

Sé que este artículo es de cien años de edad, pero en caso de que alguien se está preguntando cómo hacer frente a este problema en las versiones más recientes de Xcode (en contraposición a Xcode 3), se encuentra el ajuste adecuado etiquetado Siempre Mostrar desarmado en Depurar> Depurar flujo de trabajo en Xcode 6 en adelante. Asegúrese de que la opción sea NO marcada.

En Xcode 5, la opción se marcó Mostrar Desmontaje Cuando Depuración bajo Test> Flujo de trabajo de depuración. Asegúrese de que "Mostrar desensamblaje durante la depuración" esté desmarcado.

Volver en Xcode 4, el Mostrar Desmontaje Cuando Depuración entorno se encuentra bajo de productos> Depuración de flujo de trabajo. De nuevo, asegúrese de que la opción permanezca sin marcar.

Esto me estaba volviendo loco, también.

NOTA: La información anterior sigue siendo válida para Xcode 9+. He aplicado actualizaciones a esta respuesta ya que se han lanzado nuevas versiones de Xcode. Afortunadamente, la opción se ha mantenido sin cambios desde Xcode 6 (hasta ahora).

+1

¿Cómo se vería esta configuración en Xcode 4.4? He desmarcado la opción "Mostrar desensamblaje al depurar", pero sigo obteniendo la ventana del ensamblador. – AlexR

+0

Debería ser el mismo, pero tenga en cuenta que las condiciones @PeterHosey mencionadas anteriormente también son ciertas. Asegúrese de ver el código fuente y de que no se eliminen los símbolos de depuración. –

+4

¿qué hay de XCode6? ahora es "Mostrar siempre el desmontaje", está desmarcado en mi extremo y va demasiado lejos. –

1

De hecho, me di cuenta de esto antes de publicar, pero quería ahorrar otros posibles dolores de cabeza en el futuro, (y también en caso de olvidarlo más tarde) ya que no pude encontrar la respuesta buscando desbordamiento de pila, pero encontré que I'm not alone.

Desde el menú de ejecución, seleccione "depurador Display"> "Fuente Only", o "Display depurador"> "Fuente y desmontaje"

10

Hay otras dos cosas para asegurarse de:

  1. Que está viendo una de sus funciones/métodos. Si el marco de pila que estás mirando es una función o método de uno de los marcos, vas a ver el ensamblaje sin importar cómo hayas configurado Xcode.
  2. Que está ejecutando una compilación de depuración. Elimine los símbolos de depuración (como en una compilación de versión), y estará buscando ensamblar incluso para su propio código, sin importar qué.
+0

No resolvió mi problema, pero información interesante ... gracias – Suhaib

Cuestiones relacionadas