2010-08-04 18 views

Respuesta

19

En GDB podría escribir

po 0x12345678 

para imprimir el -description del objeto en esa dirección. Pero esta información rara vez es útil. En su lugar, primero debe verificar la traza de la excepción, que puede ubicar la línea de código que causa el problema.

+0

Sí, tampoco me lo puedo imaginar. ¿El número de línea del código que causó la excepción es el número después del + en la pila de llamadas? – marty

+0

@marty: ¿Está compilando para la depuración? No es necesario verificar esta información complicada. Simplemente use el depurador incorporado. Ver [* Guía de desarrollo de iOS: aplicaciones de depuración *] (http://developer.apple.com/iphone/library/documentation/xcode/conceptual/iphone_development/130-Debugging_Applications/debugging_applications.html) y [* Xcode Debugging Guide *] (http://developer.apple.com/iphone/library/documentation/DeveloperTools/Conceptual/XcodeDebugging/000-Introduction/Introduction.html#//apple_ref/doc/uid/TP40007057). – kennytm

+0

Esta es la respuesta más útil que encontré aquí :) – shannoga

10

Es muy útil crear un punto de interrupción de excepción, y con Xcode 7.3, nunca ha sido tan fácil. Esto lo ayudará a encontrar la línea de código que causa una excepción.

enter image description here

  1. añadir punto de interrupción en la línea donde la aplicación se bloquea
  2. haga clic en el punto de interrupción en el menú del navegador de proyectos
  3. encontrar el punto de interrupción que acaba de crear y seleccione que
  4. haga clic en el signo "+ "en la parte inferior izquierda
  5. Seleccione" Agregar punto de interrupción de excepción "

Ejecute su código ... siempre que obtenga un "selector no reconocido enviado a la instancia 0x blah blah blah", el depurador se detendrá en la línea que está causando el problema.

+0

solución brillante – GenRiH

Cuestiones relacionadas