Skip to content

DDMS: depuración de procesos en Android

DDMS o «Dalvik Debug Monitor Server», como ya definimos en anteriores tutoriales sobre la API SQLite, es un monitor de servidor de la máquina virtual Dalvik para la depuración de procesos en Android.

DDMS
Esquema de las distintas herramientas de depuración (imagen de http://developer.android.com con licencia Creative Commons 2.5 – http://creativecommons.org/licenses/by/2.5/)

 

Para acceder a la perspectiva DDMS en nuestro IDE Eclipse, se deberá hacer a través de la ruta «Window/Open Perspective/DDMS«, como mostramos en la siguiente imagen:

 

Acceso por Menú a opción DDMS

Una vez seleccionada la perspectiva, podremos personalizar las pestañas que se encuentran por defecto. Para ello bastaría con seguir la siguiente ruta y seleccionar las vistas que se adapten más a nuestras necesidades «Window/Show View«. En la imagen vemos las opciones que se muestran:

 

Opcion Show View en DDMS

Una vez hayamos establecido nuestra perspectiva DDMS se podrá guardar la configuración realizada a través de la opción «Save Perspective As…»

Vista general de la Perspectiva DDMS

En la siguiente imagen (pincha en ella para verla ampliada) tenemos una vista completa de la perspectiva DDMS por defecto. No se abordará la vista File Explorer ya que ha sido explicada en un tutorial anterior:

 

Perspectiva DDMS

 

LogCat

La vista LogCat es la encargada de mostrar el sistema de registros de Android, proporcionando un mecanismo para recopilar y ver la salida de depuración del sistema. Permite cazar los registros de diferentes aplicaciones y del sistema, recogidos a través de una serie de buffers circulares, pudiendo ver y filtrar dichos registros.

Tipos de filtros:

  • V: Verbose (prioridad más baja)
  • D: Depuración
  • I: Info (Prioridad por defecto)
  • W: Advertencia
  • E: Error
  • F: Fatal

Además es posible realizar un filtro personalizado con más detalles, como los mensajes de filtrado con las etiquetas de registro o con el ID del proceso que generó el mensaje de registro (pincha en la imagen para verla ampliada):

Fitro mensajes

 

Devices

La vista Devices muestra los diferentes dispositivos que actualmente están en ejecución y conectados al ADB (Android Debugging Bridge), asignándole a cada uno de los procesos un puerto para la depuración de todo el tráfico que maneja dicho proceso:

Devices

 

Threads

La vista Threads muestra los procesos actualmente en ejecución del proceso seleccionado. Para ello previamente debemos seleccionar el proceso en la lista de dispositivos (Devices), y al pulsar sobre el botón «Refresh«, mostrará la información del proceso:

 

Threads

Heap

La vista Heap permite visualizar la cantidad de memoria de almacenamiento dinámico utilizada por un proceso. Esta información resulta de gran utilidad para controlar el uso de la pila en un punto de tiempo determinado durante la ejecución de la aplicación.
Para ver el uso de la pila de un proceso:

  • En primer lugar se seleccionará en la lista de dispositivos el proceso del que se desea mostrar la información de pila.
  • Se pulsará en el botón “Refresh” para mostrar la información de pila del proceso.
  • En la ficha Heap, se pulsa sobre el botón “Cause GC” para llamar al recolector de basura. Al finalizar la operación, se podrá apreciar un grupo de tipos de objetos y la memoria que se ha asignado para cada tipo.

Heap

Allocation Tracker

La vista Allocation Tracker permite realizar un seguimiento de la memoria que está siendo asignada a los objetos y visualizar las clases asignadas a estos. El seguimiento se realiza en tiempo real, y proporciona una información muy útil para ver el rendimiento de la aplicación.
Para realizar este seguimiento es necesario:

  • Seleccionar un proceso en la lista de dispositivos.
  • Al pulsar «Start Tracking» comenzará el seguimiento de asignación y se habilitará la opción «Get Allocations», para mostrar los objetos asignados.
  • Si seleccionamos cualquiera de los objetos mostrados, se obtendrá información detallada, como por ejemplo el método y la línea de código donde se asigna el objeto.
  • Para detener el seguimiento o borrar los datos bastará con pulsar sobre «Stop Tracking» y realizar la misma operación comentada en los puntos anteriores.

Allocation Tracker

Screen Capture

Dentro de las opciones de la ventana «Devices«, podemos encontrar un icono en forma de cámara, que nos permitirá realizar capturas de pantalla de la UI (interfaz) de nuestra aplicación:

Icono Screen CaptureCaptura pantalla de una App

Network Statistics

A partir de Android 4.0, el DDMS incluye una vista que permite mostrar el uso de red, de manera detallada, haciendo posible realizar un seguimiento de cuando la aplicación está realizando solicitudes de red. Con esta herramienta, se puede controlar cómo y cuándo se realizan transferencias de datos desde las aplicaciones y optimizar el código subyacente de manera apropiada. También es posible distinguir entre los diferentes tipos de tráfico mediante la aplicación de un «Tag» a la red sockets antes de su uso.

 

Network Statistics

 

Emulator Control

La vista Emulator Control proporciona la posibilidad de simular llamadas de teléfono y un entorno de red de datos. Esta característica es muy útil para comprobar la fiabilidad de la aplicación en diferentes entornos de red.

Este control permite configurar el estado de la red, la velocidad y la latencia. Las posibles configuraciones dentro del estado del teléfono son las siguientes:

  • Voz: sin registrar, hogar, itinerancia, buscando, negado.
  • Datos: sin registrar, hogar, itinerancia, buscando, negado.
  • Velocidad: Completa, GSM, HSCSD, GPRS, EDGE, UMTS, HSDPA.
  • Latencia: GPRS, EDGE, UMTS.

Además, dentro de las acciones del teléfono, permite simular una llamada de teléfono o envío de un SMS con sólo introducir un número de teléfono dentro del campo «Incoming number«.

Otra de las opciones es poder simular diferentes ubicaciones del teléfono, para probar diferentes aspectos de las características de la localización de una aplicación, sin necesidad de mover el dispositivo físicamente. Las posibles opciones son:

  • Manual: permite introducir los valores de latitud y longitud en sistema de numeración decimal o sexagesimal.
  • GPX: esquema XML para transferir datos GPS entre aplicaciones.
  • KML: representa datos geográficos en tres dimensiones.

Emulator control

System Information

La vista «System Information» muestra información relacionada con el estado de recursos utilizados en el dispositivo o emulador, mostrando tanto la carga de CPU como el uso de memoria:

 

System Information


Autor: José Antonio Gázquez – Academia Android

Volver arriba
Esta web usa cookies para su correcto funcionamiento. No hay cookies de publicidad, aunque algunos de los contenidos mostrados (videos o documentos insertados) están alojados en servicios externos (Youtube, Vimeo, Box...) que sí pueden implementar sus propias cookies. También se ha incluido en pruebas un Agente AI que incluye sus propias cookies   
Privacidad