objective c - ¿Cómo agregar un punto de interrupción a objc_exception_throw?
objective-c iphone (4)
Creo que la respuesta de Brad es bastante clara; con suerte, esto puede ayudar si no lo encuentras claro.
En Xcode, en el menú superior, haga clic en Ejecutar> Mostrar> Puntos de interrupción. Una nueva ventana aparece.
Seleccione "puntos de corte globales" en el menú de la izquierda. Debería haber un recuadro a la derecha debajo de la columna "Punto de inflexión" con el texto "Doble clic para el símbolo". Haga clic en este cuadro y escriba "objc_exception_throw".
A continuación, haga clic en el espacio junto a "objc_exception_throw" debajo de la columna "ubicación". Aparecerá un cuadro para que escriba la ubicación (en este caso, "libobjc.A.dylib"). He hecho una captura de pantalla que con suerte ayudará:
esta fue la respuesta del brad larson en esta pregunta SO
Si agrega dos puntos de interrupción, debería poder depurar estas excepciones. Para hacer esto, vaya a Ejecutar | Mostrar | Puntos de interrupción y crear dos puntos de corte globales (los hago globalmente porque son muy útiles en todas mis aplicaciones). El primero debe llamarse "objc_exception_throw" y su ubicación debe ser "libobjc.A.dylib". El segundo debe ser "- [Subida NSException]" y su ubicación debe ser "CoreFoundation".
Ahora, si comienza a depurar su aplicación con los puntos de interrupción habilitados, debería romperse en el lanzamiento de estas excepciones. Entonces debería poder ver la cadena de eventos que condujo a la excepción dentro del depurador.
ahora en esta respuesta quiero preguntar cómo agrego la ubicación mencionada ???
En Xcode 4, este gran punto de interrupción se puede agregar mediante el botón "+" en la sección Puntos de ruptura (⌘ + 6)
en Xcode 6 - desde el menú superior
Depurar> Puntos de interrupción> Crear punto de interrupción de excepción
También me gustaría recomendar agregar el punto de ruptura +[NSException raise:format:arguments:]
y su ubicación debe ser CoreFoundation
.