Afficher : Delphi C++
Préférences d'affichage

Débogage des applications multiplates-formes

De RAD Studio XE2

Remonter à Applications multiplates-formes


Remarque : La nouvelle solution de débogage décrite dans cette rubrique est la solution recommandée pour le débogage des applications multiplates-formes. Dans ce scénario, vous utilisez : Bien que la solution de débogage distant d'ancien style est toujours supportée, et qu'elle peut être utilisée facultativement pour installer et exécuter les débogueurs multiplates-formes, cet usage n'est pas actuellement documenté.

Le débogueur RAD Studio intégré vous permet de déboguer une application qui cible toute plate-forme cible supportée. Le débogueur intégré fonctionne avec les applications Delphi et C++.

Sommaire

RAD Studio supporte deux débogueurs multiplates-formes :

  • Débogueur Embarcadero Win64 (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)

Quand vous installez Platform Assistant sur votre plate-forme cible, les débogueurs multiplates-formes sont aussi installés. Les débogueurs qui sont recensés sur votre système sont listés dans Outils > Options > Options du débogueur.

Architecture du débogage des applications multiplates-formes XE2

RemoteDebugForXE2.jpg

Platform Assistant et un profil distant sont requis pour l'établissement d'une session de débogage pour une application s'exécutant sur un système cible multiplate-forme. La seule configuration multiplate-forme qui ne nécessite pas Platform Assistant est un système de développement Win64.

Le débogueur multiplate-forme et le processus débogué s'exécutent tous deux sur la plate-forme cible. Le débogueur multiplate-forme 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 multiplates-formes est très similaire à celle du débogueur intégré pour les applications Win32. Pour obtenir des informations pointues sur le débogage, voir Présentation du débogage.

Remarque sur le débogage Win32 distant : Vous pouvez facultativement continuer à utiliser le débogueur distant (d'ancien style) pré-existant pour tout le débogage distant. 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 multiplate-forme 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 multiplate-forme.

Exigences pour le débogage multiplate-forme

Pour effectuer un débogage multiplate-forme :

  • Votre application doit avoir une plate-forme cible activée (Win64, OS X ou Win32 distant).
  • Selon la plate-forme cible :
    • Pour le Mac OS X :
      • Platform Assistant doit s'exécuter sur le Mac.
      • Votre application doit avoir un profil distant assigné.
      • 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 Profils distants). Cela vous permet d'utiliser le débogueur intégré et le Gestionnaire de déploiement.
    • Pour Windows 64 bits :
      • Si vous êtes connecté à un PC 64 bits distant :
        • Vous devez utiliser Platform Assistant et un profil distant.
        • Votre système de développement doit avoir une connexion dynamique au PC 64 bits distant (c'est-à-dire que Tester connexion doit réussir sur la fenêtre Profils distants). Cela 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 distant pour la plate-forme cible, comme vous le feriez pour un système cible Windows 64 bits distant. Ceci vous permet d'utiliser le Gestionnaire de déploiement.

Sur la plate-forme Mac OS X, le débogueur nécessite des permissions de fichier

Le débogage sur 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. Dans RAD Studio, cette exigence est rencontrée par la signature de code dbkosx_16_0, le fichier exécutable qui requiert des droits d'accès privilégiés. Afin d'assurer le support du débogage sur le Mac, vous devez vous connecter sur la boîte de dialogue d'accès aux outils de développement en utilisant le mot de passe administrateur ou le mot de passe root user :

  • La première fois que vous démarrez Platform Assistant dans une session (ou quand vous démarrez une session de débogage sur le Mac), le Mac affiche un dialogue de connexion pour l'accès aux outils de développement. Vous devez fournir le mot de passe pour le root user sur ce Mac. Le mot de passe est requis une seule fois par session.
    Pour de plus amples informations sur le message Acquérir la permission pour supporter le débogage, voir Pour exécuter Platform Assistant sur un Mac.
  • Si vous utilisez SSH ou PuTTY, vous avez besoin d'une étape supplémentaire pour garantir l'accès au débogage à vos applications Mac :
    • Il est possible que vous receviez un message similaire au suivant sur le Mac lors d'une tentative de débogage de votre application :
    Erreur : les permissions de fichier n'autorisent pas le débogage
    • Si vous obtenez ce message d'erreur (ou si le dialogue d'accès aux outils de développement apparaît de façon répétitive), vous pouvez décider avec prudence d'assigner des privilèges au débogueur en définissant l'ID utilisateur dbkosx_16_0 sur root, comme suit :
sudo chown root dbkosx_16_0
sudo chmod u+s,g+x dbkosx_16_0
Attention : Soyez conscient que l'utilisation de ces commandes sudo peut présenter un risque de sécurité significatif. Nous vous recommandons de prendre des précautions : Conservez une copie du fichier original dbxosx_16_0. Après le débogage de votre application, supprimez le fichier dbxosx_16_0 pour lequel vous avez défini l'ID utilisateur root, et restaurez le fichier original.

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

Quand toutes les exigences du débogage multiplate-forme sont satisfaites, l'entrée de la commande Exécuter :

  • Copie les fichiers nécessaires entre le PC hôte et la plate-forme cible spécifiée dans le profil distant.
  • 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 multiplate-forme (pour OS X ou Win64) :

Démarrage du débogueur avec 'Attacher au processus' et 'Charger un processus Local/Distant'

Pour exécuter et déboguer un binaire compilé sur une plate-forme cible (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 distant est recommandée ici.
  • Charger un processus Local pour charger un processus débogué local.
  • Charger un processus Distant pour charger un processus débogué et l'exécuter sur une plate-forme cible distante, avec quelques restrictions concernant les profils distants. L'utilisation de Platform Assistant et d'un profil distant est recommandée ici.

Voir aussi

Versions précédentes
Autres langues