Aceasta este comanda ddms care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS
PROGRAM:
NUME
ddms - un instrument de depanare grafică pentru Android
REZUMAT
ddms
DESCRIERE
Serviciul de monitorizare Dalvik Debug (DDMS) oferă servicii de redirecționare porturi, captură de ecran activată
informațiile despre dispozitiv, fire și heap de pe dispozitiv, logcat, proces și starea radio
informații, falsificarea apelurilor și SMS-urilor primite, falsificarea datelor de locație și multe altele. Această pagină
oferă o discuție modestă despre caracteristicile DDMS; nu este o explorare exhaustivă a tuturor
caracteristicile și capacitățile.
DDMS va funcționa atât cu emulatorul, cât și cu un dispozitiv conectat. Dacă ambele sunt conectate și
rulând simultan, DDMS este implicit la emulator.
Cum DDMS fabrică
DDMS acționează ca intermediar pentru a conecta IDE-ul la aplicațiile care rulează pe dispozitiv. Pe
Android, fiecare aplicație rulează în propriul proces, fiecare găzduind propriul său virtual
mașină (VM). Și fiecare proces ascultă un depanator pe un alt port.
Când pornește, DDMS se conectează la adb și pornește un serviciu de monitorizare a dispozitivului între
doi, care va notifica DDMS atunci când un dispozitiv este conectat sau deconectat. Când un dispozitiv este
conectat, se creează un serviciu de monitorizare VM între adb și DDMS, care va notifica DDMS
când un VM de pe dispozitiv este pornit sau terminat. Odată ce un VM rulează, DDMS preia fișierul
ID-ul procesului VM (pid), prin adb și deschide o conexiune la depanatorul VM-ului, prin
demonul adb (adbd) de pe dispozitiv. DDMS poate vorbi acum cu VM folosind un fir personalizat
protocol.
Pentru fiecare VM de pe dispozitiv, DDMS deschide un port pe care va asculta un depanator. Pentru
primul VM, DDMS ascultă un depanator pe portul 8600, următorul pe 8601 și așa mai departe. Cand
un depanator se conectează la unul dintre aceste porturi, tot traficul este redirecționat între depanator
și VM-ul asociat. Depanarea poate apoi procesa ca orice sesiune de depanare la distanță.
DDMS deschide, de asemenea, un alt port local, „portul de bază” DDMS (8700, implicit), pe care
de asemenea, ascultă un depanator. Când un depanator se conectează la acest port de bază, tot traficul este
redirecționat către VM selectat în prezent în DDMS, deci aici este de obicei locul în care depanați
ar trebui să se conecteze.
Sfat: Puteți seta un număr de preferințe DDMS în Fișier > Preferințe. Preferințele sunt salvate
la „$HOME/.ddmsrc”.
Cunoscut depanare probleme de cu Dalvik
Depanarea unei aplicații în Dalvik VM ar trebui să funcționeze la fel ca și în alte VM.
Cu toate acestea, atunci când ieșiți dintr-un singur pas din codul sincronizat, cursorul „linia curentă” poate sări
până la ultima linie din metodă pentru un pas.
Stânga Panou
Partea stângă a monitorului de depanare arată fiecare emulator/dispozitiv găsit în prezent, cu o listă
dintre toate VM-urile care rulează în prezent în fiecare. VM-urile sunt identificate prin numele pachetului de
aplicația pe care o găzduiește.
Utilizați această listă pentru a găsi și atașa la VM-ul care rulează activitățile pe care doriți să le faceți
depanare. Lângă fiecare VM din listă este un port „debugger pass-through” (în colțul cel mai din dreapta
coloană). Dacă vă conectați depanatorul la unul dintre porturile enumerate, veți fi
conectat la VM-ul corespunzător de pe dispozitiv. Cu toate acestea, atunci când utilizați DDMS, aveți nevoie doar de
conectați-vă la portul 8700, deoarece DDMS redirecționează tot traficul de aici către VM-ul selectat în prezent.
(Rețineți că, pe măsură ce selectați o VM din listă, portul listat include 8700.) În acest fel, există
nu este nevoie să reconfigurați portul depanatorului de fiecare dată când comutați între VM.
Când o aplicație care rulează pe dispozitiv sună waitForDebugger() (sau selectezi asta
opțiunea din opțiunile pentru dezvoltatori), o pictogramă roșie va fi afișată lângă numele clientului, în timp ce
așteaptă atașarea depanatorului la VM. Când un depanator este conectat, pictograma va
se face verde.
Dacă vedeți o pictogramă de eroare tăiată, aceasta înseamnă că DDMS nu a putut finaliza a
conexiune între depanator și VM, deoarece nu a putut deschide localul VM-ului
port. Dacă vedeți acest lucru pentru toate VM-urile de pe dispozitiv, este probabil pentru că aveți alta
instanță de rulare DDMS (aceasta include pluginul Eclipse).
Dacă vedeți un semn de întrebare în locul unui pachet de aplicații, aceasta înseamnă că, odată DDMS
a primit pid-ul aplicației de la adb, nu a reușit cumva să facă o strângere de mână reușită
cu procesul VM. Încercați să reporniți DDMS.
Dreapta pâine
În partea dreaptă, Monitorul de depanare oferă file care afișează informații utile și
câteva instrumente utile.
Info
Această vizualizare arată câteva informații generale despre VM selectată, inclusiv ID-ul procesului,
numele pachetului și versiunea VM.
Fire
Vizualizarea fire de execuție are o listă de fire de execuție care rulează în procesul VM-ului țintă. A reduce
cantitatea de date trimisă prin fir, actualizările firului de execuție sunt trimise doar când explicit
activată prin comutarea butonului „Fire” din bara de instrumente. Această comutare este menținută per
VM. Această filă include următoarele informații:
ID un ID unic de fir atribuit de VM. În Dalvik, acestea sunt numere impare care încep de la 3.
timp ID-ul firului Linux. Pentru firul principal dintr-un proces, acesta se va potrivi cu ID-ul procesului.
Stare starea firului VM. Firele Daemon sunt afișate cu un asterisc (*). Asta o să fie
una dintre următoarele:
rulează - execută codul aplicației
dormit - numit Thread.sleep()
monitor - se așteaptă să obțină o blocare a monitorului
așteptați - în Object.wait()
nativ - execută cod nativ
vmwait - se așteaptă o resursă VM
zombie - firul este pe cale de moarte
init - firul se inițializează (nu ar trebui să vezi asta)
începe - firul este pe cale să înceapă (nici tu nu ar trebui să vezi asta)
utime timpul cumulat petrecut executând codul utilizatorului, în „jiffies” (de obicei 10 ms). Numai
disponibil sub Linux.
estimări timpul cumulat petrecut executând codul de sistem, în „jiffies” (de obicei 10 ms).
Nume numele firului
„ID” și „Nume” sunt setate la începutul firului. Câmpurile rămase sunt actualizate
periodic (implicit este la fiecare 4 secunde).
VM movilă
Afișează câteva statistici de heap, actualizate în timpul colectării gunoiului. Dacă, când este selectat un VM,
vizualizarea VM Heap spune că actualizările heap nu sunt activate, faceți clic pe „Afișați actualizări heap”
butonul, situat în bara de instrumente din stânga sus. Înapoi în vizualizarea VM Heap, faceți clic pe Cauze GC to
efectuați colectarea gunoiului și actualizați statisticile heap.
Alocare Urmăritor
În această vizualizare, puteți urmări alocarea de memorie a fiecărei mașini virtuale. Cu un VM
selectat în panoul din stânga, faceți clic pe Începeți urmărirea, apoi pe Obțineți alocări pentru a vedea toate
alocările de când a început urmărirea. Tabelul de mai jos va fi completat cu toate elementele relevante
date. Faceți clic din nou pentru a reîmprospăta lista.
emulator Mod de control
Cu aceste comenzi, puteți simula stări și activități speciale ale dispozitivului. Caracteristici
includ:
Telefonie Stare modificați starea planurilor de voce și date ale telefonului (acasă, roaming,
căutare etc.) și simulează diferite tipuri de viteză și latență de rețea (GPRS, EDGE,
UTMS etc.).
Telefonie Acţiuni efectuați apeluri telefonice simulate și mesaje SMS către emulator.
Locație Controale trimiteți date simulate de locație către emulator, astfel încât să puteți efectua
operațiuni conștiente de locație, cum ar fi cartografierea GPS.
Pentru a utiliza comenzile locației, lansați aplicația în emulatorul Android și deschideți
DDMS. Faceți clic pe fila Comenzi emulator și derulați în jos la Comenzi locație. De aici, tu
poate sa:
- Trimiteți manual coordonatele individuale de longitudine/latitudine către dispozitiv.
Faceți clic pe Manual, selectați formatul de coordonate, completați câmpurile și faceți clic pe Trimitere.
- Utilizați un fișier GPX care descrie o rută pentru redare pe dispozitiv.
Faceți clic pe GPX și încărcați fișierul. Odată încărcat, faceți clic pe butonul de redare pentru a reda traseul
pentru aplicația dvs. în funcție de locație.
Când efectuați redarea de pe GPX, puteți regla viteza de redare de la DDMS
panou și controlați redarea cu butoanele de pauză și salt. DDMS va analiza atât
puncte de trecere ( , în primul tabel), și piesele ( , în al doilea tabel, cu
suport pentru mai multe segmente, , deși sunt pur și simplu concatenate). Numai
piesele pot fi redate. Făcând clic pe un punct de referință din prima listă, pur și simplu îl trimite
coordonați cu dispozitivul, în timp ce selectarea unei piese vă permite să o redați.
- Utilizați un fișier KML care descrie marcatori de locație individuale pentru redarea secvențială pe dispozitiv.
Faceți clic pe KML și încărcați fișierul. Odată încărcat, faceți clic pe butonul de redare pentru a trimite coordonatele
la aplicația dvs. care știe locația.
Când utilizați un fișier KML, acesta este analizat pentru a element. A cărui valoare
ar trebui să fie un singur set de cifre de longitudine, latitudine și altitudine. De exemplu:
-122.084143,37.421972,4
În fișierul dvs., puteți include mai multe elemente, fiecare conținând a
element. Când faceți acest lucru, colecția de marcatori de locație va fi adăugată ca
urme. DDMS va trimite un marcator de locație pe secundă către dispozitiv.
Notă: DDMS nu acceptă rutele create cu lat1,
long1, lat2, long2, ... metode. Există și în prezent
nici un suport pentru nodul din interiorul . Versiunile viitoare ar putea să accepte
plasare cronometrată și rute într-un singur element de coordonate.
Fișier Explorator
Cu File Explorer, puteți vizualiza sistemul de fișiere al dispozitivului și puteți efectua gestionarea de bază,
precum împingerea și tragerea de fișiere. Acest lucru eludează utilizarea comenzilor adb push and pull,
cu o experiență GUI.
Cu DDMS deschis, selectați Device > File Explorer... pentru a deschide fereastra File Explorer. Poti
trageți și plasați în directoarele dispozitivului, dar nu puteți trage în afara acestora. Pentru a copia fișiere din
dispozitiv, selectați fișierul și faceți clic pe butonul Extrageți fișierul din dispozitiv din bara de instrumente. La
ștergeți fișiere, utilizați butonul Ștergere din bara de instrumente.
Dacă sunteți interesat să utilizați o imagine de card SD pe emulator, încă vi se cere
utilizați comanda mksdcard pentru a crea o imagine și apoi montați-o în timpul pornirii emulatorului. Pentru
de exemplu, din directorul /tools, executați:
$ mksdcard 1024M ./img $ emulator -sdcard ./img
Acum, când emulatorul rulează, DDMS File Explorer va putea să citească și să scrie
în directorul sdcard. Cu toate acestea, este posibil ca fișierele dvs. să nu apară automat. De exemplu, dacă
adăugați un fișier MP3 pe cardul SD, playerul media nu le va vedea până când reporniți
emulator. (Când reporniți emulatorul din linia de comandă, asigurați-vă că ați montat cardul sdcard
din nou.)
Ecran Captura
Puteți captura imagini de ecran pe dispozitiv sau emulator selectând Dispozitiv > Ecran
captura... în bara de meniu sau apăsați CTRL-S.
Explorarea procese
Puteți vedea rezultatul ps -x pentru o anumită VM selectând Dispozitiv > Afișare proces
stare... în bara de meniu.
Provoca a GC la avea loc
Caută colectarea gunoiului apăsând butonul coș de gunoi din bara de instrumente.
Alergare Dumpsys si Dumpstate on il Dispozitiv (logcat)
Pentru a rula dumpsys (logcat) din Dalvik, selectați Dispozitiv > Executare logcat... în bara de meniu.
Pentru a rula dumpstate din Dalvik, selectați Device > Dump device state... în bara de meniu.
Examina Radio Stat
În mod implicit, starea radio nu este transmisă în timpul unui logcat standard (este o mulțime de
informație). Pentru a vedea informațiile radio, fie dați clic pe Dispozitiv > Eliminați starea radioului... sau rulați
logcat așa cum este descris în înregistrarea informațiilor radio.
Stop a Virtual Mașină
Puteți opri o mașină virtuală selectând Acțiuni > Opriți VM. Apăsarea acestui buton provoacă
VM-ul să apeleze System.exit(1).
CUNOSCUT PROBLEME
Dacă vă conectați și deconectați un depanator, ddms scade și reconecta clientul, astfel încât VM-ul
realizează că depanatorul a dispărut. Acest lucru se va rezolva în cele din urmă.
DREPTURI DE AUTOR
Această pagină de manual este licențiată sub licența Apache, versiunea 2.0.
Copyright (C) 2013 www.linuxtopia.org
Copyright (C) 2013 Jakub Adam[e-mail protejat]>
Utilizați ddms online folosind serviciile onworks.net