Bugreport
"Use" Android Performance analysis tool, Bugreport records the Android boot process log, the system status after startup, including the process list, memory information, VM information, etc.
"How to use"
Adb bugreport > Bugreport.txt (export bugreport information)
"Log Analysis"
(1) dumpstate
MEMORY INFO
Get the log: Read file/proc/meminfo
System memory Usage Status
CPU INFO
Get the log: Execute/system/bin/top-n 1-d 1-m 30-t
System CPU Usage Status
Procrank
Get the log: Execute/system/bin/procrank
Results of output after executing/system/xbin/procrank, view some memory usage status
VIRTUAL MEMORY STATS
Get the log: Read file/proc/vmstat
Virtual Memory allocation Status
Vmalloc application memory is located between Vmalloc_start~vmalloc_end, there is no simple conversion relationship with physical address, although they are also logically contiguous, but physically they do not require continuous.
Vmalloc INFO
Get the log: Read file/proc/vmallocinfo
Virtual Memory allocation Status
SLAB INFO
Get the log: Read file/proc/slabinfo
Slab is a memory allocator. Here is some information about the output of this allocator
Zoneinfo
Get the log: Read file/proc/zoneinfo
Zone Info
SYSTEM LOG (need to focus on analysis)
Get the log: Execute/system/bin/logcat-v time-d *:v
Outputs the log output in the program to analyze the current state of the system
VM traces
Get the log: Read file/data/anr/traces.txt
Because each program is running in its own VM, this log is some of the traces of the actual VMS
EVENT LOG TAGS
Get the log: Read file/etc/event-log-tags
EVENT LOG
Get the log: Execute/system/bin/logcat-b events-v time-d *:v
Output log of some event
RADIO LOG
Get the log: Execute/system/bin/logcat-b radio-v time-d *:v
Shows the link states of some wireless devices, such as GSM,PHONE,STK (satellite Tool Kit) ...
NETWORK State
Get the log: Execute/system/bin/netcfg (Get network link status)
Get the log: Read file/proc/net/route (get routing status)
Show Network links and routes
SYSTEM PROPERTIES
Get the log: reference code implementation
Displays some system properties, such as version,services,network ...
KERNEL LOG
Get the log: Execute/SYSTEM/BIN/DMESG
Log that shows Android kernel output
KERNEL Wakelocks
Get the log: Read file/proc/wakelocks
Some records of the kernel waking and hibernating some programs and services
KERNEL CPUFREQ
(Linux kernel CPUfreq subsystem) Clock scaling allows the clock speed of the CPUs on the fly.
This was a nice method to save battery power, because the lower the clock speed is and the less power the CPU consumes.
PROCESSES
Get the log: Execute ps-p
Show Current process
PROCESSES and THREADS
Get the log: Execute ps-t-p-p
Show current processes and threads
Librank
Get the log: Execute/system/xbin/librank
Eliminate unnecessary library
BINDER FAILED TRANSACTION LOG
Get the log: Read file/proc/binder/failed_transaction_log
BINDER TRANSACTION LOG
Get the log: Read file/proc/binder/transaction_log
BINDER transactions
Get the log: Read file/proc/binder/transactions
BINDER STATS
Get the log: Read file/proc/binder/stats
BINDER PROCESS State
Get the log: Read file/proc/binder/proc/*
Some states related to bind
Filesystems
Get the log: Execute/SYSTEM/BIN/DF
Some capacity usage status for primary files (Cache,sqlite,dev ...)
Package SETTINGS
Get the log: Read file/data/system/packages.xml
Some of the status of the package in the system (access rights, paths ...), similar to some LNK files in Windows.
Package UID ERRORS
Get the log: Read file/data/system/uiderrors.txt
Error message
KERNEL last Kmsg LOG
Latest Kernel message Log
Last RADIO LOG
Latest Radio Log
KERNEL PANIC CONSOLE LOG
KERNEL PANIC THREADS LOG
Console/thread error messages log
Backlights
Get the log: Get LCD brightness Read/sys/class/leds/lcd-backlight/brightness
Get the log: Get button brightness Read/sys/class/leds/button-backlight/brightness
Get the log: Get keyboard brightness Read/sys/class/leds/keyboard-backlight/brightness
Get the log: Get ALS mode read/sys/class/leds/lcd-backlight/als
Get the log: Get LCD driver Registers read/sys/class/leds/lcd-backlight/registers
Get some information about the relative brightness
(2) Build.prop
VERSION Info outputs the following information
Current time
Current kernel version: can read files (/proc/version) get
Show current command: can read folder (/proc/cmdline) get
Displays some properties of the system build: can read files (/system/build.prop) get
Output system Some properties
Gsm.version.ril-impl
Gsm.version.baseband
Gsm.imei
Gsm.sim.operator.numeric
Gsm.operator.alpha
(3) Dumpsys
This log can be obtained after executing the/system/bin/dumpsys.
It is often found that the log output is incomplete because it requires the tool to execute at most 60ms, which may cause log to not be fully output.
You can ensure that the log is fully output by modifying the time parameters.
Information:
Currently running services
DUMP of SERVICE Services-name (running)
Summary of Linux kernel debugging methods Bugreport