web-dev-qa-db-fra.com

Comment attacher un débogueur à une application iOS après son lancement?

J'ai un problème que je suis en train de résoudre, qui se produit très rarement et qui ne semble pas se produire lorsque des éléments fonctionnent sous Xcode.

Est-il possible d’exécuter une application normalement (c’est-à-dire depuis Springboard) jusqu’à ce que mon problème se pose, puis d’attacher un débogueur à ce stade?

Je préférerais le faire sans jailbreaking si possible.

95
Locksleyu
  • Connectez votre appareil connecté à votre Mac
  • Avec les anciennes versions de Xcode:

    Produit -> Joindre au processus -> Par identificateur de processus (PID) ou Nom ...

    avec la version 7.2+ (vérifiée à partir de 9.2):

    Debug -> Attacher au processus par PID ou par nom

  • Dans la boîte de dialogue, entrez le nom de votre application tel qu'il apparaît dans le navigateur de débogage lors du démarrage via Xcode.

Si l'application est déjà en cours d'exécution, le débogueur sera attaché au processus en cours d'exécution. Si ce n'est pas le cas, l'application attendra pour se lancer puis se joindre.

113
Ole Begemann

Je vais laisser cela ici car aucune des 2 autres réponses ne m'a donné assez de détails sans lutter un peu.

  1. Exécutez votre application dans le simulateur et notez le nom dans le navigateur de débogage. enter image description here

  2. Branchez votre appareil et n'oubliez pas de sélectionner votre appareil comme cible enter image description here

  3. Débogage> Attacher au processus> Identificateur de processus (PID) ou nom enter image description here
  4. Entrez le nom de l'étape 1 et joignez-le. Cela devrait être tout ce que vous avez à faire. enter image description here
108
Adam Johns

Dans Xcode 5.0.1 et 6, il est dans

Debug > Attach to Process > By Process Identifier (PID) or Name... in Xcode
48
PiTheNumber

Dans Xcode 7 c'est juste:

Debug > Attach to Process by PID or Name...
7
Japes