2009-09-02 5 views
7

Todavía no he aprendido correctamente cómo usar el depurador de Xcode, pero me preguntaba si alguien tiene algunos consejos de depuración favoritos, cosas que puede insertar rápidamente en el código para ver el estado de los objetos. Cualquier cosa que me ayude a entender mejor los aspectos internos de Objective-c.¿Cuáles son algunos consejos de depuración de Objective-c?

Principalmente confío en NSLog(@"%@", myObject) para ver qué está pasando con myObject, o a veces NSLog(@"%@", [myObject class]) para comprobar que algo es realmente la clase que debería ser. Sé que puedo hacer ambas cosas usando el depurador, pero quiero probar el uso del código por el momento, antes de dar el salto al uso de un depurador completo.

¿Tiene algún truco similar?

+0

No ponga todo en una línea. Si accede a un índice dentro de un diccionario dentro de una instancia de una clase personalizada, convierta cada nivel de acceso en un todo temporal, frente a "encadenamiento en cadena" todo junto. Más fácil de mantener y más fácil de depurar, ya que puede ver todos los valores intermedios con el depurador. –

+0

En la consola, cuando se detiene en un punto de interrupción, escriba "ayuda". Le mostrará los comandos de depuración disponibles. Familiarícese, especialmente, con "po", ya que mostrará de manera confiable cosas que la ventana de visualización variable no mostrará. –

Respuesta

3

Asserts. Montones y montones de afirmaciones. Cuando suponga que algo debe ser de alguna manera, afirme que es verdad.

Build & Analyze es el nuevo Build. Usa el Analizador Estático Clang en Snow Leopard.

No hay magia; todo en su sistema y en su código ocurre por una razón, incluyendo fallas & mal comportamiento.

Acepta el depurador; es realmente poderoso y bastante fácil de usar. weblog de

Greg Parker es una excelente fuente para la vista "detrás de las cortinas" de cómo funcionan algunas cosas: http://www.sealiesoftware.com/blog/

3

También uso una gran cantidad de NSAsserts todo mi código.
Aquí hay 2 artículos útiles por Chris Hanson sobre NSAssert:

Otra técnica de depuración a menudo uso:
Como Xcode no muestra contenido de la matriz en la vista depurador , puede usar la consola (gdb) o la ventana de expresión para enumerar los contenidos de la matriz. Here es una publicación SO relacionada.

Cuestiones relacionadas