Débogage des applications multi-périphériques
Remonter à Applications multi-périphériques
Sommaire
- 1 Architecture du débogage des applications multi-périphériques
- 2 Le débogueur intégré de RAD Studio
- 3 Exigences relatives au débogage multi-périphérique dans RAD Studio
- 4 Débogage avec C++Builder Windows 64 bits
- 5 Démarrage du débogueur avec une commande 'Exécuter'
- 6 Démarrage du débogueur avec 'Attacher au processus' et 'Charger un processus distant'
- 7 Voir aussi
Architecture du débogage des applications multi-périphériques
Débogage des applications macOS
Sur la plate-forme macOS, le débogueur nécessite des 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 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.
- Pour des détails sur le développement des apps iOS, voir Développement d'applications mobiles iOS.
Débogage des applications Android
- Pour des détails sur le développement des apps Android, voir Développement d'applications mobiles Android.
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 Win32 pour Delphi(sur un PC fonctionnant sous un système d'exploitation Windows 32 bits)
- Débogueur Embarcadero Win32 pour C++(sur un PC fonctionnant sous un système d'exploitation Windows 32 bits)
- 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 32 bits macOS Embarcadero (sur un Mac fonctionnant sous une version 32 bits de macOS)
- Débogueur 64 bits macOS Embarcadero (sur un Mac fonctionnant sous une version 64 bits de macOS)
- 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 pour le périphérique Android 32 bits (sur un périphérique Android 32 bits ou 64 bits connecté)
- Débogueur Android Embarcadero pour le périphérique Android 64 bits (sur un périphérique 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.
__lldb_apple_objc_v2_get_dynamic_class_info, __lldb_caller_function, __lldb_apple_objc_v2_get_shared_cache_class_info, and __lldb_caller_function
.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, 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 é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 (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 macOS 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é.
- 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 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 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.
- 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
- 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.
- Si vous êtes connecté à un PC 64 bits distant :
- 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 macOS.
- 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
- Pour les plates-formes macOS et iOS :
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) :
- Exécuter > Exécuter (F9) (compile et exécute l'application dans le débogueur intégré)
- Exécuter > Pas à pas (F8)
- Exécuter > Pas à pas approfondi (F7)
- Exécuter > Exécuter jusqu'au retour (Maj+F8)
- Exécuter > Exécuter jusqu'au curseur (F4)
- Remarque : La commande Exécuter jusqu'au curseur n'est pas prise en charge pour le lancement du débogueur sur la plate-forme Android.
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: 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 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
- Présentation du débogage
- Comment utiliser le débogueur
- Débogage distant - Procédures d'ancien style
- Création et test d'un profil de connexion sur le PC de développement
- PAServer, l'application serveur Platform Assistant
- Débogage des applications C++ Builder Windows 64 bits
- Débogage des apps iOS
- Exécution et débogage de votre application Android sur un périphérique Android à distance
- Acquisition de la permission permettant de prendre en charge le débogage sur un Mac
- Debugging optimized Win64 code (EN)