ROMs y desarrollo Samsung Galaxy S I9000 ROMs y desarrollo Samsung Galaxy S I9000

Respuesta
 
Herramientas
  #1  
Viejo 11/01/11, 16:36:03
Array

[xs_avatar]
intronauta intronauta no está en línea
Monguer.
· Votos compra/venta: (1)
 
Fecha de registro: ago 2009
Mensajes: 5,345
Tu operador: Pepephone

Herramientas de depuración del sistema, TOP, LOGCAT, DMESG, DDMS, OSMONITOR

Estas son algunas herramientas que nos pueden ayudar a conocer más como funciona nuestro sistema y cómo se comporta.

Pueden parecer poco transparentes e incluso confusas si no tienes grandes conocimientos, pero si les dedicas un tiempo a familiarizarte verás que pueden ser muy útiles y evitarte el divagar o especular por ejemplo sobre por qué la batería se consume rápidamente sin venir a cuento identificando quién es el responsable, al igual que saber por qué ciertas aplicaciones dan cierres forzados.

TOP


Código:
adb shell top
Código:
adb shell
/ #top
[control+c para cerrar]



top es un monitor de sistema incluido en los sistemas basados en unix y nos muestra una tabla con información detallada de los procesos.
Lo primero que debemos hacer es adaptar esa salida de datos al tamaño de nuestra ventana, ya que solo vemos una parte.
Código:
top -s cpu -m xx
Con el atributo -s cpu le decimos que muestre la información en orden descendente en función de la carga de cpu
Con -m xx le decimos el número de filas que mostrará, sustituyendo xx por 30 o 35 es más que suficiente.
top.png

¿qué nos interesa?

En la cabecera
: User %, System % nos dice el % de cpu que utilizan las aplicaciones distinguiendo entre procesos del usuario y de sistema, siendo la suma de los dos el % de uso total de cpu.

Columna PID
->identificador numérico único para cada proceso
Columna CPU% -> muestra la carga de cpu usada por ese proceso
Columnas S y PSY ->nos dice en que estado se encuentra: run, sleep, idle, background, foreground
Columna UID -> identifica quién ha lanzado el proceso. En general verás que la mayoría son del propio sistema (root), aunque también verás system, radio, app_xx,. etc.
Columna Name ->nombre del proceso


El resto de columnas solo son útiles para depuraciones avanzadas, uso de memoria virtual, hilos,....

top es ideal para monitorizar como se comportan los diferentes procesos/aplicaciones lanzados en el sistema especialmente cuando está en reposo. No hay más que dejar el móvil en reposo unos minutos y observar como empiezan a lanzarse aleatoriamente varios procesos. Algunos son razonables y necesarios para mantener "vivo" el sistema, pero es fácil ver por ejemplo como algunos widgets aparentemente inofensivos se activan con demasiada frecuencia haciendo uso de cpu, lo que afecta al consumo de la batería.


Código:
#killall -9 proceso
Con este comando podemos matar un proceso, sustituyendo "proceso" por su el nombre de la columna "Name". Útil para hacer pruebas sin tener que "despertar" el sistema y seguir observando el comportamiento.



LOGCAT

Código:
adb logcat
Código:
adb shell
/#logcat
[control+c para cerrar]


logcat
es un visor con mensajes de depuración donde el sistema informa de infinidad de sucesos, muy útil para identificar qué errores se producen en el sistema o de qué forma funcionan. Logcat requiere familiarizarse con su formato y sintaxis. Mucha información no te portará nada si no tienes conocimientos avanzados en código android pero es fácil identificar ciertos fallos como si un proceso no encuentra un archivo, fallos con permisos, servidores remotos que no responden, etc.

Ejemplos:
Aquí se ejecuta root explorer la primera vez después de un arranque del sistema y obtienen permisos root
rootexplorer.jpg


Aquí vemos un fallo al actualizar dropbox desde Titanium
logcat_Titanium.jpg
*solo como ejemplo de como se reporta un fallo, aunque este en especial no nos dice mucho sobre cual es el problema. Hay otro más claros.


Fíjate que al comienzo de cada notificación hay una etiqueta que te informa del tipo de información que ofrece :

  • V — Verbose (lowest priority)
  • D — Debug
  • I — Info
  • W — Warning
  • E — Error
  • F — Fatal
  • S — Silent (highest priority, on which nothing is ever printed)


Si queremos centrarnos en el comportamiento de una parte del sistema determinada, proceso o aplicación, podemos filtrar la salida de datos:
Mostrar solo notificaciones de error
Código:
# logcat *:E
Mostrar solo notificaciones relacionadas con Titanium.
Código:
# logcat | grep Titanium
Mostrar solo información de radio/telefonía
Código:
#logcat -b radio
Código:
adb logcat >logcat.txt
Esto es muy útil después de un inicio completo para ver qué ha ocurrido durante el arranque, casi indispensable después de flashear una rom, kernel o demás. Lo que hacemos es volcar la salida de datos de logcat a un archivo de texto en nuestro ordenador para verlo más cómodamente desde cualquier editor.


Más info: http://developer.android.com/guide/d...tools/adb.html


DMESG

Código:
adb shell dmesg
Código:
adb shell
#dmesg


dmesg
nos muestra los mensajes de diagnóstico emitidos por el kernel. Aquí verás si existen errores o conflictos con drivers, módulos, etc...


Código:
adb shell dmesg >dmesg.txt
Volcar la salida de datos de dmesg a un archivo de texto para verlo más cómodamente desde un editor en nuestro ordenador.


DALVIK_DEBUG_MONITOR


En el SDK de android viene incluido una herramienta de depuración muy útil con el que puedes obtener mucha de esta información aparte de extras como hacer capturas de pantalla.

Tienes el ejecutable en /tools/ddms dentro del SDK.

Más info: http://developer.android.com/guide/d...ools/ddms.html



OSMONITOR


Bueno, esta es una aplicación disponible en el market que me encanta y que es útil cuando no disponemos de ordenador y queremos comprobar que todo funciona como debería.

Incluye task manager, top, logcat general o filtrando por aplicación, dmesg, información de las interfaces de red con contador de tráfico de datos, conexiones TCP activas y en que estado se encuentran, frecuencia de CPU y governor en tiempo real configurable en kernels sin perflock (que permitan OC, pero es muy básica), info completa de la batería, espacio libre en el sistema, ....





Recomiendo esta configuración extra:
  • activar modo root
  • esconder procesos de sistema marcado
  • ordenar por "carga"
  • ocultar área extra

Vista de log:
  • elige si quieres ver el logcat o dmesg en la pestaña " "Mensaje"


En la pestaña procesos:
  • verás que el uso de CPU es elevado porque el propio Osmonitor consume recursos.
  • Si pulsas en el lado derecho despliegas información extra
  • Si mantienes pulsado puedes matarlo o "ver Log" que viene a ser el equivalente de ver toda la info que esa aplicación a volcado a logcat.

Posiblemente existan aplicaciones equivalentes pero por ahora creo que esta es la más completa.
__________________
________
[CWMODIN] Flashea y personaliza ODIN stock roms desde el recovery http://ow.ly/kbEwt
[Universal Flasher Tool] Flashea temas metamorph y archivos desde el recovery con autobackup http://goo.gl/Gxucm

Última edición por intronauta Día 11/01/11 a las 17:00:10.
Responder Con Cita
Los siguientes 23 usuarios han agradecido a intronauta su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]


  #2  
Viejo 11/01/11, 16:41:07
Array

[xs_avatar]
ninox ninox no está en línea
Usuario muy activo
 
Fecha de registro: nov 2008
Mensajes: 742
Modelo de smartphone: Samsung Galaxy Note 9
Tu operador: Vodafone
Qué crack estas echo!

Habrá que indagar un poco en el tema y aprender algo jeje

Muchas gracias!
Responder Con Cita
  #3  
Viejo 11/01/11, 17:01:21
Array

[xs_avatar]
jorge9s jorge9s no está en línea
Betatester oficial
· Votos compra/venta: (41)
 
Fecha de registro: ago 2010
Localización: Marte
Mensajes: 7,993
Modelo de smartphone: iPhone 14 Pro Max 256
Tu operador: Lowi
Es interesante, tocara leer, leer, y leer para poder aprender jejeje
__________________
iPhone 
Responder Con Cita
  #4  
Viejo 12/01/11, 07:36:18
Array

[xs_avatar]
vvaleta vvaleta no está en línea
Colaborador/a
· Votos compra/venta: (66)
 
Fecha de registro: jul 2009
Localización: zaragoza
Mensajes: 31,720
Modelo de smartphone: Xiaomi 12 Pro
Tu operador: Orange
Intronauta como siempre pal hilo de tutos.
Responder Con Cita
  #5  
Viejo 12/01/11, 08:47:32
Array

[xs_avatar]
sepuke sepuke no está en línea
Miembro del foro
 
Fecha de registro: oct 2010
Localización: Madrid
Mensajes: 90
Modelo de smartphone: Galaxy S iphone 3gs
Tu operador: Movistar
interesante tio, muchas gracias..
__________________
Responder Con Cita
  #6  
Viejo 12/01/11, 12:17:54
Array

[xs_avatar]
bomberillo bomberillo no está en línea
Usuario muy activo
 
Fecha de registro: nov 2010
Localización: Madrid
Mensajes: 2,040
Modelo de smartphone: Samsung Galaxy S10+ 1T
Tu operador: Otra
Simplemente te aplaudo, la verdad que a todos y desde aqui aprobecho para agradeceros cuanto estoy aprendiendo con vuestra sabiduria. De verdad, Gracias.
Responder Con Cita
  #7  
Viejo 19/02/11, 12:04:22
Array

[xs_avatar]
panben panben no está en línea
Usuario novato en la web
 
Fecha de registro: ene 2011
Mensajes: 20
Modelo de smartphone: motorola defy
Tu operador: Vodafone
a ver si sabeis como puedo resolver mi problemilla,
quiero ver los logs porque se me reinicia el telefono,
pero cuando voy a verlos despues de que se haya reiniciado, solo puedo ver los logs posteriores al arranque del telefono, los justo anteriores al reinicio no consigo verlos, no se si es que se borran al reiniciar o que, ¿alguien sabe como solucionarlo?
Responder Con Cita
  #8  
Viejo 19/02/11, 13:46:44
Array

[xs_avatar]
intronauta intronauta no está en línea
Monguer.
· Votos compra/venta: (1)
 
Fecha de registro: ago 2009
Mensajes: 5,345
Tu operador: Pepephone

 Cita: Originalmente Escrito por panben Ver Mensaje
a ver si sabeis como puedo resolver mi problemilla,
quiero ver los logs porque se me reinicia el telefono,
pero cuando voy a verlos despues de que se haya reiniciado, solo puedo ver los logs posteriores al arranque del telefono, los justo anteriores al reinicio no consigo verlos, no se si es que se borran al reiniciar o que, ¿alguien sabe como solucionarlo?

Es una limitación incomprensible. Dependiendo del kernel y de cómo tenga implementado el modo depuración puede generarse un "last_kmsg" referente al último log del kernel, pero no disponemos de él (por hora solo los kernel cyanogenmod lo utilizan :/)

¿se te reinicia haciendo algo en especial? es reproducible? sospechas de algo?

Si puedes reproducirlo podrías hacer un logcat con volcado a un archivo en tiempo real.

Conectas por usb:
Código:
adb logcat >logcat.log
y esperar.


Podrías probar desde android con un terminal tipo better terminal:

Código:
cd sdcard
logcat>logcat.log
y dejarlo activo en primer (preferible) o segundo plano hasta que se reinicie. El problema es que a lo mejor el sistema mata la aplicación si entiende que no está en uso. Eso tendrías que verlo.
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Foros Samsung > Otros smartphones de Samsung antiguos > Samsung Galaxy S I9000 > ROMs y desarrollo Samsung Galaxy S I9000



Hora actual: 18:19:52 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /