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 Mac OS X

RemoteDebugMac2a.jpg

Sur la plate-forme Mac OS X, le débogueur nécessite des permissions de fichier. Le débogage sur Mac OS X 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 prendre en charge le débogage sur un Mac.

Pour des détails sur le développement des apps Mac OS X, voir Développement d'applications Mac OS X.

Débogage des apps iOS

RemoteDebugiOS.jpg

  • Pour le débogage sur les plates-formes cible Simulateur iOS, Périphérique iOS - 32 bits et 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 apps iOS.

Débogage des applications Android

RemoteDebugAndroid.png

Le débogueur intégré de RAD Studio

Le débogueur RAD Studio intégré vous permet de déboguer une application qui cible toute plate-forme cible prise en charge. Le débogueur intégré supporte typiquement les applications Delphi et C++, excepté pour les plates-formes C++ Windows 64 bits, Delphi iOS et Android.

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

  • Débogueur Embarcadero Win64 pour Delphi (sur un PC fonctionnant sous un système d'exploitation Windows 64 bits)
  • Débogueur Embarcadero Win64 pour C++ (sur un PC fonctionnant sous un système d'exploitation Windows 64 bits)
  • Débogueur Embarcadero OS X (sur un Mac fonctionnant sous une version de OS X)
  • Débogueur Embarcadero iOS pour le simulateur iOS (sur un Mac)
  • Débogueur Embarcadero iOS32 pour le périphérique iOS 32 bits (sur un périphérique iOS 32 bits et 64 bits connecté)
  • Débogueur Embarcadero iOS64 pour le périphérique iOS 64 bits (sur un périphérique iOS 64 bits connecté)
  • Débogueur Embarcadero Android (sur un périphérique Android 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 Mac OS X, Platform Assistant et le débogueur Mac OS X 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 prenant 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 : 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 Mac OS X, 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 (elle peut être utilisée facultativement pour installer et exécuter les débogueurs multi-périphériques), son utilisation de cette solution pour les applications multi-périphériques n'est pas actuellement documentée.

Remarque concernant 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 multi-périphérique des applications Win64 et Mac OS X. 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.

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

  • Dans le cas d'une application s'exécutant sur une plate-forme cible Mac OS X, Périphérique iOS - 32 bits, Périphérique iOS - 64 bits ou Simulateur iOS, Platform Assistant et un profil de connexion sont requis pour l'établissement d'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)
    • Mac OS X
    • iOS (Delphi prend en charge le simulateur iOS ou les deux plates-formes périphérique iOS ; C++ ne prend en charge que les deux plates-formes périphérique iOS)
    • Android (périphérique Android)
    • Windows 32 bits et 64 bits à distance.
  • Selon la plate-forme cible :
    • Pour les plates-formes Mac OS X et iOS :
      • Platform Assistant doit être exécuté sur le Mac.
      • Votre application doit être approvisionnée, avoir le code signé et un profil de connexion associé.
      • 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 les deux plates-formes Périphérique iOS, un périphérique iOS approvisionné 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 app 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 C++ pour la plate-forme Mac OS X
      • Les applications multi-périphériques FireMonkey Delphi pour les plates-formes Périphérique iOS - 32 bits et 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 OS X 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 OS X 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 iOS32, 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 : Le chargement d'un processus local n'est pas pris en charge pour le débogueur Embarcadero Périphérique iOS32, 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 Embarcadero Android.
    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 Mac OS X, 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