2009-09-02 7 views
7

Je n'ai toujours pas appris correctement comment utiliser le débogueur Xcode, mais je me demandais si quelqu'un avait quelques conseils de débogage préférés, des choses que vous pouvez rapidement insérer dans le code pour voir l'état des objets. Tout ce qui pourrait m'aider à mieux comprendre les aspects internes d'Objective-c.Quels sont les conseils de débogage Objective-c?

La plupart du temps je compte sur NSLog(@"%@", myObject) pour voir ce qui se passe avec myObject, ou parfois NSLog(@"%@", [myObject class]) pour vérifier que quelque chose est vraiment la classe qu'il devrait être. Je sais que je peux faire les deux en utilisant le débogueur, mais je veux essayer d'utiliser le code pour le moment, avant de faire le saut dans l'utilisation d'un débogueur complet.

Avez-vous des astuces similaires?

+0

Ne mettez pas tout sur une ligne. Si vous accédez à un index à l'intérieur d'un dictionnaire à l'intérieur d'une instance d'une classe personnalisée, faites en sorte que chaque niveau d'accès soit séparé temporairement, par opposition à «chaînage en chaîne». Plus facile à maintenir et plus facile à déboguer, puisque vous pouvez voir toutes les valeurs intermédiaires avec le débogueur. –

+0

Dans la console, lorsque vous êtes arrêté à un point d'arrêt, tapez "help". Il vous montrera les commandes de débogage disponibles. Familiarisez-vous, en particulier, avec "po", car il affichera de manière fiable des choses que la fenêtre d'affichage variable ne sera pas. –

Répondre

3

Asserts. Beaucoup et beaucoup d'affirmations. Quand vous supposez que quelque chose doit être d'une certaine manière, affirmez que c'est vrai.

Build & Analyse est la nouvelle version. Utilisez l'analyseur statique Clang dans Snow Leopard.

Il n'y a pas de magie; tout sur votre système et dans votre code se produit pour une raison, y compris les accidents & mauvaise conduite.

Embrace le débogueur; c'est vraiment puissant et assez facile à utiliser.

le blog de Greg Parker est une merveilleuse source pour un « derrière les rideaux » vue sur la façon dont certaines choses fonctionnent: http://www.sealiesoftware.com/blog/

3

J'utilise aussi beaucoup de NSAsserts tout autour de mon code.
Voici 2 articles utiles par Chris Hanson à propos NSAssert:

Une autre technique de débogage J'utilise souvent:
Comme Xcode ne pas afficher le contenu du tableau dans la vue débogueur , vous pouvez utiliser la console (gdb) ou la fenêtre d'expression pour lister le contenu du tableau. Here est un article SO connexe.

Questions connexes