Tengo puntos de interrupción establecidos pero Xcode parece ignorarlos.
xcode
breakpoints
AlanKley
fuente
fuente
Respuestas:
En primer lugar, estoy 100% de acuerdo con las personas anteriores que dijeron APAGAR
Load Symbols Lazily
.Tengo dos cosas más que agregar.
(Mi primera sugerencia suena obvia, pero la primera vez que alguien me la sugirió, mi reacción fue en esta línea: "vamos, por favor, realmente crees que no lo sabría mejor ... oh").
Asegúrese de no haber configurado accidentalmente "Configuración de compilación activa" en "Liberar".
En "Objetivos" en la visualización del árbol gráfico de su proyecto, haga clic con el botón derecho en su Objetivo y seleccione "Obtener información". Busque una propiedad llamada "Generar símbolos de depuración" (o similar) y asegúrese de que esté MARCADA (también conocida como ACTIVADA). Además, puede intentar encontrar (también en Destino >> Obtener información) una propiedad llamada "Formato de información de depuración" y establecerla en "Enano con archivo dsym".
Hay una serie de otras propiedades en Destino >> Obtener información que podrían afectarlo. Busque cosas como optimizar o comprimir código y apague esas cosas (supongo que está trabajando en un modo de depuración, por lo que este no es un mal consejo). Además, busque cosas como quitar símbolos y asegúrese de que también esté APAGADO. Por ejemplo, "Strip Linked Product" debe establecerse en "No" para el destino de depuración.
fuente
En Xcode 7, lo que funcionó para mí fue:
1) Asegúrese de que el objetivo -> esquema -> Ejecutar - esté en modo de depuración (antes de lanzamiento)
2) Asegúrese de marcar la opción "Depurar ejecutable" a continuación:
fuente
Ve a las preferencias de depuración de Xcode. Asegúrese de que "Cargar símbolos de forma perezosa" NO esté seleccionado.
fuente
Solo estaba teniendo este mismo problema (nuevamente). Después de verificar tres veces "Cargar símbolos de manera perezosa" y eliminar y depurar los indicadores de generación de información, hice lo siguiente:
Puede realizar la misma tarea en el buscador haciendo clic derecho / opción-clic en el paquete .xcodeproj y seleccionando "Mostrar contenido del paquete".
Cuando reinicié Xcode, todas mis ventanas se habían restablecido a las posiciones predeterminadas, etc., ¡pero los puntos de interrupción funcionaron!
fuente
Para Xcode 4.x: Vaya a Producto> Flujo de trabajo de depuración y desmarque "Mostrar desmontaje al depurar".
Para Xcode 5.x Vaya a Depurar> Flujo de trabajo de depuración y desmarque "Mostrar desmontaje al depurar".
fuente
Otra razón
Establecer
DeploymentPostprocessing
en NO en BuildSettings - detalles aquíEn breve -
fuente
YES
solo en misubproject
y luego los puntos de interrupción no funcionaronsubprojects
. Y después de prepararloNO
, ¡fue perfecto!Vea esta publicación: ¿Los puntos de interrupción no funcionan en Xcode? . Es posible que esté presionando "Ejecutar" en lugar de "Depurar", en cuyo caso su programa no se ejecuta con la ayuda de gdb, en cuyo caso no puede esperar que los puntos de interrupción funcionen.
fuente
Una de las posibles soluciones para esto podría ser .... vaya a Producto> Esquema> Editar esquema> .. En Ejecutar> información> Ejecutable, marque "Depurar ejecutable".
fuente
Esto me tuvo en Xcode 9 durante medio día frustrante. Terminó siendo una configuración de depuración simple.
Vaya a Depurar> Flujo de trabajo de depuración y asegúrese de que 'Mostrar siempre el desmontaje' esté desactivado. Simple como eso. :(
fuente
Solución para mí con XCode 9.4.1 (no se detuvo en ningún punto de interrupción):
En Objetivo de compilación -> Configuración de compilación -> Nivel de optimización: se cambió de "Optimizar para velocidad" -> "Sin optimización" (ahora es más lento pero funciona)
fuente
Lo que lo resolvió en mi caso fue bastante simple, en Xcode - Producto - Carpeta de compilación limpia seguido de Producto - Ejecutar (no el botón Reproducir Xcode).
(Tuve el problema en Xcode 11 -beta 4 después de cambiar a la prueba unitaria con el botón de reproducción de Xcode presionando prolongadamente)
fuente
Llegué a esta página con el mismo problema (el código C en Xcode 6 no se detiene en los puntos de interrupción) y ninguna de las soluciones anteriores funcionó (el proyecto estaba prácticamente listo para usar, en cuanto a la configuración, por lo que hay pocas posibilidades de que alguna de las configuraciones del depurador ajustarse al valor incorrecto) ...
Después de perder bastante tiempo reduciendo el problema, finalmente descubrí al culpable (para mi código):
A Xcode (/ LLVM) no le gustan los
#line
comandos de preprocesador de estilo Bison .Eliminarlos solucionó el problema (el depurador se detuvo en mis puntos de interrupción).
fuente
Para Xcode 4:
fuente
Tengo muchos problemas con los puntos de interrupción en Xcode (2.4.1). Utilizo un proyecto que solo contiene otros proyectos (como una solución en Visual Studio). A veces encuentro que los puntos de interrupción no funcionan en absoluto a menos que haya al menos un punto de interrupción establecido en el proyecto inicial (es decir, el que contiene el punto de entrada para mi código). Si los únicos puntos de interrupción están en proyectos de "nivel inferior", simplemente se ignoran.
También parece que Xcode solo maneja las operaciones de punto de interrupción correctamente si actúa sobre el punto de interrupción cuando está en el proyecto que contiene la línea de origen en la que está el punto de interrupción.
Si intento eliminar o deshabilitar puntos de interrupción a través de otro proyecto, la acción a veces no surte efecto, aunque el depurador indique que sí. Así que me encontraré rompiendo en puntos de interrupción deshabilitados, o en un punto de interrupción (ahora invisible) que eliminé anteriormente.
fuente
Mis puntos de interrupción no funcionaron y luego hice Build / Clean All Targets para que funcionen nuevamente.
fuente
Creo que el problema podría ser la incompatibilidad entre las versiones del dispositivo y Xcode. Tengo este problema al intentar depurar en mi iPhone 4S con iOS 5.0.1. Sigo usando Xcode 3.2.5. Obtuve los símbolos del teléfono seleccionando "usar este dispositivo para desarrollo" en la ventana del Organizador. Sin embargo, este teléfono se niega al punto de interrupción. Mi viejo 3GS lo hará punto de interrupción, el mismo proyecto de Xcode, la misma configuración ... solo un dispositivo diferente y está ejecutando iOS 4.0. Supongo que este es un error de Xcode en 3.2.5, ya que tengo los símbolos. Después de haber probado todas las soluciones publicadas aquí hasta ahora, he decidido que la solución a mi problema es continuar y actualizar a XCode 4. Quizás no pueda depurar de manera efectiva a menos que su SDK base sea al menos tan alto como el sistema en el que depurar. Quizás eso sea obvio, ¿alguien puede confirmarlo?
Editar: actualizaré cuando pueda confirmar que esto es cierto.
fuente
Eliminar mi carpeta de compilación me solucionó el problema.
fuente
Para esto, y también para Xcode 6 y superior, asegúrese de que el botón de estado del punto de interrupción esté activado (el botón con forma de flecha azul):
fuente
En Xcode 4
fuente
Encontré el problema. De alguna manera, el " Mostrar desmontaje al depurar se habilitó " en mi XCode, lo que crea ese problema. Cuando lo desactivé, todo mi depurador se detuvo en mi código fuente.
Puede encontrarlo en:
Product->Debug Workflow->Show Disassembly
al depurar.fuente
Puede activar / desactivar puntos de interrupción en el menú desplegable
fuente
Si todo lo demás falla, en lugar de un punto de interrupción, puede llamar a la siguiente función:
Para reanudar, configure manualmente i en cero, luego presione el botón de reanudar.
fuente
Me ha pasado lo mismo en XCode 6.3.1. Logré arreglarlo por:
Después de hacer ese cambio, configuro las opciones Mover puntos de interrupción de nuevo en el proyecto y anulo la selección de Compartir puntos de interrupción opción , y aún funciona.
No sé exactamente por qué, pero esto recupera mis puntos de interrupción.
fuente
Probé todas las cosas anteriores, pero para mí solo la desactivación de los puntos de interrupción de depuración una vez y luego la activación funcionó.
fuente
Al establecer su punto de interrupción, haga clic con el botón derecho y debería obtener varias opciones sobre cómo se maneja el punto de interrupción (registrar vars y continuar, pausar la ejecución, etc.)
También asegúrese de que "Cargar símbolos de forma perezosa" no esté seleccionado en las preferencias de depuración.
(Se aplica a Xcode 3.1, no estoy seguro de versiones pasadas / futuras)
fuente
También asegúrese de que la distribución AppStore de la aplicación no esté también instalada en el dispositivo.
fuente
Otra cosa que debe verificar es que si tiene un archivo plist "Derechos" para su modo de depuración (posiblemente porque está haciendo cosas con el llavero), asegúrese de que el archivo plist tenga la fila "get-task-allow" = YES. Sin él, la depuración y el registro se interrumpirán.
fuente
Parece haber 3 estados para los puntos de interrupción en Xcode. Si hace clic en ellos, pasarán por las diferentes configuraciones. El azul oscuro está habilitado, el gris está deshabilitado y he visto un azul pálido a veces que me obligaba a hacer clic en el punto de interrupción nuevamente para que pasara al color azul oscuro.
Aparte de esto, asegúrese de iniciarlo con el comando debug, no con el comando de ejecución. Puede hacerlo presionando la opción + comando + retorno, o la opción Ir (depurar) del menú de ejecución.
fuente
Tengo Xcode 3.2.3 SDK 4.1 Los puntos de interrupción fallarán al azar. Descubrí que si limpias la compilación y usas el comando táctil bajo compilación, funcionan de nuevo.
fuente
Aquí hay uno oscuro con el que me he encontrado: si está trabajando en una biblioteca compartida (o un complemento), sus puntos de interrupción se volverán amarillos al inicio, lo que podría hacer que golpee su teclado con frustración y elimine el proceso de depuración. Bueno, ¡no hagas eso! Los símbolos no se cargarán hasta que la aplicación cargue la biblioteca, momento en el que los puntos de interrupción serán válidos. Me encontré con este problema con un complemento del navegador ... Los BP se desactivaron hasta que navegué a una página que creó una instancia de mi complemento.
fuente