objective-c iphone xcode debugging memory-leaks

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 .