Il s'agit de la commande ddms qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
ddms - un outil de débogage graphique pour Android
SYNOPSIS
ddms
DESCRIPTION
Dalvik Debug Monitor Service (DDMS) fournit des services de redirection de port, une capture d'écran sur
les informations sur le périphérique, le thread et le tas sur le périphérique, le logcat, le processus et l'état de la radio
informations, usurpation d'appels et SMS entrants, usurpation de données de localisation, et plus encore. Cette page
fournit une discussion modeste sur les fonctionnalités de DDMS ; ce n'est pas une exploration exhaustive de tous
les fonctionnalités et les capacités.
DDMS fonctionnera à la fois avec l'émulateur et un appareil connecté. Si les deux sont connectés et
s'exécutant simultanément, DDMS utilise par défaut l'émulateur.
Comment DDMS vos contrats
DDMS agit en tant qu'intermédiaire pour connecter l'IDE aux applications s'exécutant sur l'appareil. Au
Android, chaque application s'exécute dans son propre processus, chacune hébergeant son propre
machine (VM). Et chaque processus écoute un débogueur sur un port différent.
Lorsqu'il démarre, DDMS se connecte à adb et démarre un service de surveillance de périphérique entre le
deux, qui notifieront DDMS lorsqu'un appareil est connecté ou déconnecté. Lorsqu'un appareil est
connecté, un service de surveillance de VM est créé entre adb et DDMS, qui notifiera DDMS
lorsqu'une VM sur l'appareil est démarrée ou arrêtée. Une fois qu'une VM est en cours d'exécution, DDMS récupère le
l'ID de processus de la VM (pid), via adb, et ouvre une connexion au débogueur de la VM, via
le démon adb (adbd) sur l'appareil. DDMS peut désormais parler à la VM à l'aide d'un câble personnalisé
protocole.
Pour chaque machine virtuelle sur le périphérique, DDMS ouvre un port sur lequel il écoutera un débogueur. Pour
la première VM, DDMS écoute un débogueur sur le port 8600, la suivante sur 8601, et ainsi de suite. Lorsque
un débogueur se connecte à l'un de ces ports, tout le trafic est transféré entre le débogueur
et la VM associée. Le débogage peut alors être traité comme n'importe quelle session de débogage à distance.
DDMS ouvre également un autre port local, le "port de base" DDMS (8700, par défaut), sur lequel il
écoute également un débogueur. Lorsqu'un débogueur se connecte à ce port de base, tout le trafic est
transmis à la machine virtuelle actuellement sélectionnée dans DDMS, c'est donc généralement là que vous débogueur
devrait se connecter.
Astuce : vous pouvez définir un certain nombre de préférences DDMS dans Fichier > Préférences. Les préférences sont enregistrées
à "$HOME/.ddmsrc".
Connu débogage vous aider à faire face aux problèmes qui vous perturbent au Dalvik
Le débogage d'une application dans la VM Dalvik devrait fonctionner de la même manière que dans les autres VM.
Cependant, lors de la sortie du code synchronisé, le curseur "ligne actuelle" peut sauter
à la dernière ligne de la méthode pour une étape.
Gauche Pains Typiques
Le côté gauche du moniteur de débogage affiche chaque émulateur/périphérique actuellement trouvé, avec une liste
de toutes les machines virtuelles en cours d'exécution dans chacune. Les machines virtuelles sont identifiées par le nom de package de
l'application qu'il héberge.
Utilisez cette liste pour rechercher et attacher à la VM exécutant la ou les activités que vous souhaitez
déboguer. À côté de chaque VM de la liste se trouve un port « debugger pass-through » (à l'extrême droite
colonne). Si vous connectez votre débogueur à l'un des ports répertoriés, vous serez
connecté à la VM correspondante sur l'appareil. Cependant, lorsque vous utilisez DDMS, vous n'avez besoin que
connectez-vous au port 8700, car DDMS transfère tout le trafic ici vers la machine virtuelle actuellement sélectionnée.
(Remarquez que lorsque vous sélectionnez une machine virtuelle dans la liste, le port répertorié comprend 8700.) De cette façon, il y a
pas besoin de reconfigurer le port du débogueur à chaque fois que vous basculez entre les VM.
Lorsqu'une application exécutée sur l'appareil appelle attendreDebugger() (ou vous sélectionnez ceci
dans les options du développeur), une icône rouge s'affichera à côté du nom du client, tandis que
il attend que le débogueur se connecte à la machine virtuelle. Lorsqu'un débogueur est connecté, l'icône
passer au vert.
Si vous voyez une icône de bogue barrée, cela signifie que le DDMS n'a pas pu terminer un
connexion entre le débogueur et la VM car il n'a pas pu ouvrir le local de la VM
Port. Si vous voyez ceci pour toutes les machines virtuelles sur l'appareil, c'est probablement parce que vous avez un autre
instance de DDMS en cours d'exécution (cela inclut le plugin Eclipse).
Si vous voyez un point d'interrogation à la place d'un dossier de candidature, cela signifie qu'une fois DDMS
a reçu le pid de l'application d'adb, il n'a pas réussi à établir une poignée de main réussie
avec le processus VM. Essayez de redémarrer DDMS.
Droite pain
Sur le côté droit, le moniteur de débogage fournit des onglets qui affichent des informations utiles et
quelques outils utiles.
Info
Cette vue affiche des informations générales sur la machine virtuelle sélectionnée, y compris l'ID de processus,
nom du package et version de la machine virtuelle.
Threads
La vue des threads contient une liste de threads en cours d'exécution dans le processus de la machine virtuelle cible. Réduire
la quantité de données envoyées sur le fil, les mises à jour du fil ne sont envoyées que lorsqu'elles sont explicitement
activé en basculant le bouton "threads" dans la barre d'outils. Cette bascule est maintenue par
VM. Cet onglet comprend les informations suivantes :
ID un ID de thread unique attribué par la VM. À Dalvik, ce sont des nombres impairs à partir de 3.
Heure l'ID de thread Linux. Pour le thread principal d'un processus, cela correspondra à l'ID du processus.
Statut l'état du thread de la VM. Les threads de démon sont signalés par un astérisque (*). Ce sera
l'un des suivants:
running - exécution du code de l'application
dormir - appelé Thread.sleep()
moniteur - en attente d'acquisition d'un verrou de moniteur
attendre - dans Object.wait()
natif - exécuter du code natif
vmwait - en attente d'une ressource VM
zombie - le fil est en train de mourir
init - le thread s'initialise (vous ne devriez pas le voir)
démarrage - le fil est sur le point de démarrer (vous ne devriez pas le voir non plus)
temps utile temps cumulé passé à exécuter le code utilisateur, en « jiffies » (généralement 10 ms). Seul
disponible sous Linux.
estimations temps cumulé passé à exécuter le code système, en « jiffies » (généralement 10 ms).
Nom le nom du fil
« ID » et « Nom » sont définis lorsque le fil est démarré. Les champs restants sont mis à jour
périodiquement (la valeur par défaut est toutes les 4 secondes).
VM Heap
Affiche quelques statistiques de tas, mises à jour pendant le ramasse-miettes. Si, lorsqu'une VM est sélectionnée,
la vue VM Heap indique que les mises à jour du tas ne sont pas activées, cliquez sur "Afficher les mises à jour du tas"
bouton, situé dans la barre d'outils en haut à gauche. De retour dans la vue VM Heap, cliquez sur Cause GC to
effectuer le ramasse-miettes et mettre à jour les statistiques du tas.
Allocation Traqueur
Dans cette vue, vous pouvez suivre l'allocation de mémoire de chaque machine virtuelle. Avec une machine virtuelle
sélectionné dans le volet de gauche, cliquez sur Démarrer le suivi, puis sur Obtenir les allocations pour tout afficher
allocations depuis le début du suivi. Le tableau ci-dessous sera rempli avec tous les
Les données. Cliquez à nouveau dessus pour actualiser la liste.
Émulateur Contrôle
Avec ces commandes, vous pouvez simuler des états et des activités d'appareils spéciaux. Caractéristiques
consistent à
Telephony Statut modifier l'état des forfaits Voix et Données du téléphone (domicile, roaming,
recherche, etc.), et simuler différents types de vitesse et de latence du réseau (GPRS, EDGE,
UTMS…).
Telephony Actions effectuer des appels téléphoniques simulés et des messages SMS à l'émulateur.
Lieu Contrôles envoyer des données de localisation fictives à l'émulateur afin que vous puissiez effectuer
les opérations de localisation comme la cartographie GPS.
Pour utiliser les contrôles de localisation, lancez votre application dans l'émulateur Android et ouvrez
DDMS. Cliquez sur l'onglet Contrôles de l'émulateur et faites défiler jusqu'à Contrôles d'emplacement. D'ici, vous
pouvez:
- Envoyez manuellement les coordonnées de longitude/latitude individuelles à l'appareil.
Cliquez sur Manuel, sélectionnez le format de coordonnées, remplissez les champs et cliquez sur Envoyer.
- Utilisez un fichier GPX décrivant un itinéraire pour la lecture vers l'appareil.
Cliquez sur GPX et chargez le fichier. Une fois chargé, cliquez sur le bouton de lecture pour lire l'itinéraire
pour votre application de géolocalisation.
Lors de la lecture à partir de GPX, vous pouvez régler la vitesse de lecture à partir du DDMS
panneau et contrôlez la lecture avec les boutons de pause et de saut. DDMS analysera à la fois le
points de cheminement ( , dans le premier tableau), et les pistes ( , dans le deuxième tableau, avec
prise en charge de plusieurs segments, , bien qu'ils soient simplement concaténés). Seul
les pistes peuvent être lues. Cliquer sur un waypoint dans la première liste envoie simplement son
coordonner à l'appareil, tandis que la sélection d'une piste vous permet de la lire.
- Utilisez un fichier KML décrivant des repères individuels pour une lecture séquencée sur l'appareil.
Cliquez sur KML et chargez le fichier. Une fois chargé, cliquez sur le bouton de lecture pour envoyer les coordonnées
à votre application de géolocalisation.
Lors de l'utilisation d'un fichier KML, il est analysé pour un élément. dont la valeur
devrait être un seul jeu de chiffres de longitude, latitude et altitude. Par exemple:
-122.084143,37.421972,4
Dans votre dossier, vous pouvez inclure plusieurs éléments contenant chacun un
élément. Lorsque vous le faites, la collection de repères sera ajoutée en tant que
des pistes. DDMS enverra un repère par seconde à l'appareil.
Remarque : DDMS ne prend pas en charge les routes créées avec le lat1,
long1, lat2, long2, ... méthodes. Il y a aussi actuellement
pas de soutien pour le nœud à l'intérieur du . Les futures versions peuvent prendre en charge
placement chronométré et itinéraires au sein d'un seul élément de coordonnées.
Déposez votre dernière attestation Explorer
Avec l'explorateur de fichiers, vous pouvez afficher le système de fichiers de l'appareil et effectuer une gestion de base,
comme pousser et tirer des fichiers. Cela évite d'utiliser les commandes push et pull adb,
avec une expérience GUI.
Avec DDMS ouvert, sélectionnez Périphérique > Explorateur de fichiers... pour ouvrir la fenêtre Explorateur de fichiers. Vous pouvez
glisser-déposer dans les répertoires de l'appareil, mais ne peut pas en sortir. Pour copier des fichiers de
l'appareil, sélectionnez le fichier et cliquez sur le bouton Extraire le fichier de l'appareil dans la barre d'outils. À
supprimer des fichiers, utilisez le bouton Supprimer dans la barre d'outils.
Si vous souhaitez utiliser une image de carte SD sur l'émulateur, vous devez toujours
utilisez la commande mksdcard pour créer une image, puis montez-la pendant le démarrage de l'émulateur. Pour
exemple, à partir du répertoire /tools, exécutez :
$ mksdcard 1024M ./img $ émulateur -sdcard ./img
Maintenant, lorsque l'émulateur est en cours d'exécution, l'explorateur de fichiers DDMS pourra lire et écrire
dans le répertoire de la carte SD. Cependant, vos fichiers peuvent ne pas apparaître automatiquement. Par exemple, si
vous ajoutez un fichier MP3 à la carte SD, le lecteur multimédia ne les verra pas tant que vous n'aurez pas redémarré le
émulateur. (Lors du redémarrage de l'émulateur à partir de la ligne de commande, assurez-vous de monter la carte SD
encore.)
pour écran Capture
Vous pouvez capturer des images d'écran sur l'appareil ou l'émulateur en sélectionnant Appareil > Écran
capture... dans la barre de menu, ou appuyez sur CTRL-S.
Explorer Processus
Vous pouvez voir la sortie de ps -x pour une machine virtuelle spécifique en sélectionnant Périphérique > Afficher le processus
état... dans la barre de menu.
Causes a GC à Se produire
Faites en sorte que la collecte des ordures se déclenche en appuyant sur le bouton de la corbeille dans la barre d'outils.
Fonctionnement Dépotoirs et État de la décharge on le Appareil (logcat)
Pour exécuter dumpsys (logcat) depuis Dalvik, sélectionnez Périphérique > Exécuter logcat... dans la barre de menus.
Pour exécuter dumpstate depuis Dalvik, sélectionnez Device > Dump device state... dans la barre de menu.
Examiner Radio Région
Par défaut, l'état de la radio n'est pas affiché pendant un logcat standard (c'est beaucoup de
informations). Pour voir les informations radio, cliquez sur Périphérique > Vider l'état de la radio... ou exécutez
logcat comme décrit dans Enregistrement des informations radio.
Arrêter a Salle de conférence virtuelle Machine
Vous pouvez arrêter une machine virtuelle en sélectionnant Actions > Arrêter la VM. Une pression sur ce bouton provoque
la VM à appeler Système.exit (1).
CONNUE QUESTIONS
Si vous connectez et déconnectez un débogueur, ddms supprime et reconnecte le client afin que la VM
se rend compte que le débogueur a disparu. Cela finira par être corrigé.
DROIT D'AUTEUR
Cette page de manuel est sous licence Apache, version 2.0.
Copyright (C) 2013 www.linuxtopia.org
Copyright (C) 2013 Jakub Adam[email protected]>
Utiliser ddms en ligne à l'aide des services onworks.net