Débogage des applications multi-périphériques

De RAD Studio
Aller à : navigation, rechercher

Remonter à Applications multi-périphériques

Architecture du débogage des applications multi-périphériques

Débogage des applications macOS

Pour déboguer des applications macOS, suivez les étapes indiquées ci-après. Dans le Gestionnaire de projets :

  1. Ajoutez ou activez la plate-forme cible (macOS 64 bits et macOS ARM 64 bits)
  2. Assignez un profil de connexion en sélectionnant les commandes suivantes : Outils > Options > Déploiement > Gestionnaire de profils de connexion, et spécifiez les paramètres suivants :
    • Plate-forme cible
    • Nom de l'hôte ou Adresse IP
    • Numéro du port
    • Autres options relatives au profil
  3. Ajoutez le SDK

Dans PAServer (le serveur Platform Assistant), assurez-vous que :

  1. PAServer lance le débogueur distant pour macOS.
Remarque: Sur la plate-forme macOS, le débogueur a besoin de permissions de fichier. Le débogage sur macOS est une opération privilégiée ; seul un processus avec des droits d'accès adéquats peut agir en tant que débogueur. Pour de plus amples informations, voir Acquisition de la permission permettant de supporter le débogage sur un Mac. Pour des détails sur le développement des applications macOS, voir Développement d'applications macOS.

Débogage des apps iOS

Pour déboguer des applications iOS, suivez les étapes ci-après :

Dans le Gestionnaire de projets :

  1. Ajoutez ou activez la plate-forme cible (iOS 64 bits)
  2. Assignez un profil de connexion en sélectionnant les commandes suivantes : Outils > Options > Déploiement > Gestionnaire de profils de connexion , et spécifiez les paramètres suivants :
    • Plate-forme cible
    • Nom de l'hôte ou Adresse IP
    • Numéro du port
    • Autres options relatives au profil
  3. Accédez à Outils > Options > Déploiement > Gestionnaire de SDK, et ajoutez la version SDK.

Dans PAServer (le serveur Platform Assistant), assurez-vous que :

  1. PAServer lance le débogueur distant pour iOS.
  2. Les apps iOS sont provisionnées et le code est signé lors du développement.

Sur le périphérique iOS :

  1. Connectez le périphérique au Mac.
Remarque: Pour le débogage sur la plate-forme cible Périphérique iOS - 64 bits, certaines fonctionnalités traditionnelles du débogueur ne sont pas disponibles. Pour de plus amples informations, voir Débogage des applications iOS. Pour des détails sur le développement des applications iOS, voir Développement d'applications mobiles iOS.

Débogage des applications Android

Avant de déboguer des applications Android sur RAD Studio, pensez à préparer votre environnement de développement Android.

Le débogueur intégré de RAD Studio

Le débogueur intégré de RAD Studio vous permet de déboguer une application qui cible toute plate-forme cible supportée.

RAD Studio prend en charge les débogueurs suivants, qui s'exécutent sur la plate-forme cible spécifique :

  • Débogueur Embarcadero Windows 32 bits
  • Débogueur Embarcadero Windows 64 bits pour Delphi (sur un PC fonctionnant sous un système d'exploitation Windows 64 bits)
  • Débogueur Embarcadero LLDB Windows 64 bits pour C++ (sur un PC fonctionnant sous un système d'exploitation Windows 64 bits)
  • Débogueur Embarcadero 64 bits macOS (sur un Mac Intel fonctionnant sous une version 64 bits de macOS)
  • Débogueur Embarcadero 64 bits macOS ARM (sur un Mac ARM fonctionnant sous une version 64 bits de macOS)
  • Débogueur Embarcadero Linux 64 bits
  • Débogueur Embarcadero pour le périphérique iOS 64 bits (sur un périphérique iOS 64 bits connecté)
  • Débogueur Embarcadero simulateur iOS ARM 64 bits (sur un Mac ARM fonctionnant sous une version 64 bits de macOS)
  • Débogueur Embarcadero Android 32 bits (sur un périphérique Android 32 bits connecté)
  • Débogueur Embarcadero Android 64 bits (sur un périphérique Android 64 bits connecté)

Les débogueurs Embarcadero appropriés sont installés quand vous préparez votre environnement de développement comme décrit dans l'aide. Par exemple, quand vous suivez les étapes du développement d'applications macOS, Platform Assistant et le débogueur macOS sont installés sur votre Mac. De même, quand vous suivez les étapes du développement d'applications mobiles iOS, PAServer et le débogueur iOS de RAD Studio sont installés sur votre Mac en tant que plate-forme intermédiaire qui prend en charge votre plate-forme cible (iOS). Les débogueurs Embarcadero qui sont recensés sur votre système sont listés dans Outils > Options > Options du débogueur.

Remarque: Les bibliothèques partagées supplémentaires sont chargées dans le débogueur iOS64. Ces bibliothèques partagées sont contrôlées par le débogueur et peuvent être ignorées. Voici certaines de ces bibliothèques :
  • __lldb_apple_objc_v2_get_dynamic_class_info
  • __lldb_caller_function
  • __lldb_apple_objc_v2_get_shared_cache_class_info
  • __lldb_caller_function
Remarque: Des threads supplémentaires sont parfois exécutés dans le débogueur iOS64. Ces threads sont contrôlés par le débogueur et peuvent être ignorés.
Remarque: La nouvelle solution de débogage décrite dans cette rubrique est la solution recommandée pour le débogage d'applications multi-périphériques pour macOS, iOS, Android et Windows 64 bits (à partir d'un système de développement Windows 32 bits). Dans ce scénario, vous utilisez le débogueur multi-périphérique spécifique (exécuté sur la plate-forme cible) conjointement au débogueur intégré dans l'EDI. Bien que la solution de débogage distant d'ancien style soit toujours prise en charge, et qu'elle puisse être utilisée facultativement pour installer et exécuter les débogueurs multi-périphériques, l'utilisation de cette solution pour les applications multi-périphériques n'est pas actuellement documentée.
Remarque: Avec le débogage Win32 distant, vous pouvez, si vous le souhaitez, continuer à utiliser le débogueur distant (d'ancien style) pré-existant pour toutes les opérations de débogage distant de bureau. N'oubliez pas cependant que vous devrez copier manuellement les fichiers sur la plate-forme cible, comme auparavant. Pour obtenir des instructions sur l'utilisation du débogueur distant d'ancien style, voir Présentation du débogage distant et les procédures associées. La solution de débogage distant d'ancien style peut être utilisée pour le débogage Win32 distant (comme auparavant) et pour le débogage des applications Win64 et macOS. Toutefois, l'aide ne donne pas encore de détails sur la procédure d'utilisation du débogueur distant d'ancien style pour le débogage multi-périphérique.
Remarque: Lors de la tentative de lancement d'une application Android 64 bits sur un périphérique Android 32 bits, le message suivant apparaît à la place d'un message indiquant une incompatibilité : Impossible de démarrer le noyau LLDB : ‘./lldb-server[17]: syntax error: unexpected ‘)’.
Remarque: Si vous rencontrez des problèmes de débogage, l'équipe Support peut vous demander de fournir les journaux de débogage. A cet égard, consultez comment activer les journaux de consignation pour les débogueurs RAD Studio.

Exigences relatives au débogage multi-périphérique dans RAD Studio

  • Si une application est exécutée sur une plate-forme cible macOS 64 bits, Périphérique iOS - 64 bits, Platform Assistant et un profil de connexion sont requis pour établir une session de débogage.
    La plate-forme cible Android et la plate-forme cible Win64 système ne nécessitent ni Platform Assistant ni profil de connexion.
  • Certaines plates-formes cible requièrent l'ajout d'un SDK comme décrit dans la section suivante Exigences pour le débogage multi-périphérique.

Typiquement, le débogueur et le processus débogué s'exécutent sur la plate-forme cible. C'est le cas du périphérique iOS et du périphérique Android. Mais dans chaque cas, le débogueur signale le statut et interagit avec vous sur le PC de développement dans l'EDI de RAD Studio. Cela signifie que l'utilisation de l'un des débogueurs multi-périphériques est très similaire à celle du débogueur intégré pour les applications Win32. Pour des informations communes plus détaillées sur le débogage, voir Présentation du débogage.

Pour effectuer un débogage multi-périphérique :

  • Votre application doit avoir une plate-forme cible activée :
    • Windows 64 bits (depuis un PC de développement Windows 32 bits)
    • macOS
    • iOS
    • Android (périphérique Android)
    • Windows 32 bits et 64 bits à distance.
  • Selon la plate-forme cible :
    • Pour les plates-formes macOS et iOS :
      Remarque: Il n'est pas nécessaire d'effectuer l'approvisionnement et la signature de code des applications macOS.
      • Votre système de développement doit avoir une connexion dynamique au Mac (c'est-à-dire que Tester connexion doit réussir sur la fenêtre Gestionnaire de profils de connexion).
        Cette connexion vous permet d'utiliser le débogueur intégré et le Gestionnaire de déploiement.
      • En outre, pour la plate-forme Périphérique iOS, un périphérique iOS provisionné doit être connecté au Mac par un câble USB.
      Remarque: Vous ne pouvez pas utiliser le débogueur intégré pour déboguer une application iOS compilée avec la configuration de plate-forme Magasin d'applications.
    • Pour la plate-forme Windows 32 bits :
      • Vous n'avez pas besoin d'utiliser Platform Assistant car votre environnement de débogage est en machine, et le débogueur intégré s'exécute automatiquement. Cependant, si vous souhaitez déboguer à distance une application Windows 32 bits, vous devez définir l'option Inclure les symboles de débogage distant sur True dans Projet > Options > Compilateur Delphi > Liaison.
    • Pour la plate-forme Windows 64 bits :
      • Si vous êtes connecté à un PC 64 bits distant :
        • Vous devez utiliser Platform Assistant et un profil de connexion.
        • Votre système de développement doit avoir une connexion dynamique au PC 64 bits distant (c'est-à-dire que l'action Tester connexion doit réussir dans la fenêtre Gestionnaire de profils de connexion). Cette connexion vous permet d'utiliser le débogueur intégré et le Gestionnaire de déploiement.
      • Si votre système de développement est un PC fonctionnant sous un système d'exploitation Windows 64 bits :
        • Vous n'avez pas besoin d'utiliser Platform Assistant car votre environnement de débogage est en machine, et le débogueur intégré s'exécute automatiquement.
        • Vous pouvez néanmoins choisir d'utiliser facultativement Platform Assistant et un profil de connexion, comme vous le feriez pour un système cible Windows 64 bits distant. Cela vous permet d'utiliser le Gestionnaire de déploiement.
    • Un SDK est requis (sur le Gestionnaire de SDK) pour les plates-formes et types d'applications suivants :
      • Les applications multi-périphériques FireMonkey Delphi pour la plate-forme Périphérique iOS - 64 bits
      • Les applications multi-périphériques FireMonkey Delphi pour la plate-forme Android

Débogage avec C++Builder Windows 64 bits

Pour le débogage d'applications C++ Windows 64 bits, certaines fonctionnalités du débogueur ne sont pas disponibles.

Pour de plus amples informations, voir Débogage des applications C++ Builder Windows 64 bits.

Démarrage du débogueur avec une commande 'Exécuter'

Quand toutes les exigences relatives au débogage multi-périphérique sont satisfaites, l'entrée de la commande Exécuter :

  • Copie les fichiers nécessaires entre le PC hôte et la machine cible spécifiée dans le profil de connexion.
  • Exécute l'application dans le débogueur approprié requis pour la plate-forme.

Par exemple, si macOS est la plate-forme cible active, l'exécutable est copié sur le Mac.

Vous pouvez utiliser l'une des commandes Exécuter standard pour démarrer le débogage d'une application multi-périphérique (pour macOS ou Win64) :

Démarrage du débogueur avec 'Attacher au processus' et 'Charger un processus distant'

Pour exécuter et déboguer un binaire compilé sur une machine exécutant le serveur Platform Assistant (un PC distant ou un Mac), vous pouvez utiliser :

  • Attacher au processus pour déboguer un processus en cours d'exécution qui est soit local, soit distant. L'utilisation de Platform Assistant et d'un profil de connexion est recommandée ici. Certaines plates-formes ne sont pas prises en charge comme indiqué dans la boîte de dialogue Attacher au processus.
    Remarque: L'attachement à un processus en cours d'exécution n'est pas pris en charge pour le débogueur Embarcadero Périphérique iOS64 ou le débogueur Embarcadero Android.
  • Charger un processus Local pour charger un processus débogué local.
    Remarque: L'attachement à un processus local n'est pas pris en charge pour le débogueur Embarcadero Périphérique iOS64 ou le débogueur Embarcadero Android.
  • Charger un processus Distant pour charger un processus débogué et l'exécuter sur une machine distante, avec quelques restrictions concernant les profils de connexion. Certaines plates-formes ne sont pas prises en charge, comme indiqué dans la boîte de dialogue Charger un processus distant.
    Remarque: Le chargement d'un processus distant n'est pas pris en charge pour le débogueur Android Embarcadero.
    L'utilisation de Platform Assistant et d'un profil de connexion est recommandée ici.

Problèmes de minutage avec Charger un processus

Si vous rencontrez des problèmes lors du débogage d'une app macOS, c'est-à-dire que celle-ci se bloque immédiatement après que vous l'ayez exécutée à l'aide de Charger un processus, essayez de sélectionner l'option Ne pas exécuter ou Exécuter jusqu'au point d'entrée du programme (ces deux options sont disponibles sous la zone "Après le chargement"). Ces options peuvent résoudre les problèmes de minutage qui surviennent lorsque l'app est exécutée et accède à des événements de débogage, alors que le débogueur est configuré et prêt à gérer les événements. Ces problèmes de minutage peuvent provoquer l'arrêt intempestif du débogueur.

Voir aussi