refine redroid debug script
This commit is contained in:
84
debug.sh
84
debug.sh
@@ -1,51 +1,64 @@
|
||||
#!/bin/bash
|
||||
#!/usr/bin/env bash
|
||||
|
||||
usage() {
|
||||
script=`basename "$0"`
|
||||
echo "USAGE: $script [container]"
|
||||
echo;echo
|
||||
}
|
||||
usage
|
||||
usage="
|
||||
USAGE: $(basename "$0") [container] [-h]
|
||||
|
||||
where:
|
||||
container: container id or container name
|
||||
"
|
||||
|
||||
while getopts ':h' option; do
|
||||
case "$option" in
|
||||
h)
|
||||
echo "$usage"
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
container=$1
|
||||
|
||||
if [[ -z "$container" ]]; then
|
||||
echo -n "Container name (leave empty if stopped):"
|
||||
read container
|
||||
fi
|
||||
|
||||
echo "Collecting, please wait..."
|
||||
|
||||
tmp_dir=`mktemp -d`
|
||||
echo "creating tmp dir: $tmp_dir"
|
||||
#echo "creating tmp dir: $tmp_dir"
|
||||
|
||||
cd $tmp_dir
|
||||
|
||||
cp /boot/config-`uname -r` ./ || zcat /proc/config.gz > config-`uname -r`
|
||||
{ cp /boot/config-`uname -r` ./ || zcat /proc/config.gz > config-`uname -r`; } &> /dev/null
|
||||
|
||||
check_drivers() {
|
||||
grep binder /proc/filesystems
|
||||
grep ashmem /proc/misc
|
||||
}
|
||||
check_drivers > drivers.txt
|
||||
{ grep binder /proc/filesystems; grep ashmem /proc/misc; } > drivers.txt
|
||||
|
||||
uname -a > uname.txt
|
||||
uname -a &> uname.txt
|
||||
|
||||
lscpu > lscpu.txt
|
||||
lscpu &> lscpu.txt
|
||||
|
||||
getenforce &> getenforce.txt
|
||||
|
||||
check_gpu() {
|
||||
{
|
||||
lshw -C display
|
||||
ls -al /dev/dri/
|
||||
cat /sys/kernel/debug/dri/*/name
|
||||
}
|
||||
check_gpu > dri.txt
|
||||
cat /sys/kernel/debug/dri/*/name;
|
||||
} &> dri.txt
|
||||
|
||||
dmesg -T > dmesg.txt
|
||||
|
||||
docker info > docker-info.txt
|
||||
docker info &> docker-info.txt
|
||||
|
||||
if [ ! -z $1 ]; then
|
||||
docker exec $1 ps -A > ps.txt
|
||||
docker exec $1 logcat -d > logcat.txt
|
||||
docker exec $1 logcat -d -b crash > crash.txt
|
||||
docker exec $1 /vendor/bin/vainfo -a > vainfo.txt
|
||||
docker exec $1 getprop > getprop.txt
|
||||
docker exec $1 dumpsys > dumpsys.txt
|
||||
if [[ -n $container ]]; then
|
||||
docker exec $container ps -A &> ps.txt
|
||||
docker exec $container logcat -d &> logcat.txt
|
||||
docker exec $container logcat -d -b crash &> crash.txt
|
||||
docker exec $container /vendor/bin/vainfo -a &> vainfo.txt
|
||||
docker exec $container getprop &> getprop.txt
|
||||
docker exec $container dumpsys &> dumpsys.txt
|
||||
|
||||
<<'EOF' >network.txt docker exec -i $1 sh
|
||||
<<'EOF' >network.txt docker exec -i $container sh
|
||||
echo "************** ip a"
|
||||
ip a
|
||||
echo "************** ip rule"
|
||||
@@ -53,11 +66,16 @@ if [ ! -z $1 ]; then
|
||||
echo;echo "************** ip r show table eth0"
|
||||
ip r list table eth0
|
||||
EOF
|
||||
docker container inspect $1 > container-inspect.txt
|
||||
docker image inspect `docker container inspect -f '{{.Config.Image}}' $1` > image-inspect.txt
|
||||
docker container inspect $container &> container-inspect.txt
|
||||
docker image inspect `docker container inspect -f '{{.Config.Image}}' $container` &> image-inspect.txt
|
||||
fi
|
||||
|
||||
tmp_tar=${tmp_dir}.tgz
|
||||
tar czf $tmp_tar $tmp_dir
|
||||
tar czf $tmp_tar $tmp_dir &> /dev/null
|
||||
|
||||
echo "all logs collected in $tmp_tar"
|
||||
echo
|
||||
echo "==================================="
|
||||
echo "Please provide the collected logs"
|
||||
echo "(zh_CN) 请提供此处收集的日志"
|
||||
echo "${tmp_tar}"
|
||||
echo "==================================="
|
||||
|
||||
Reference in New Issue
Block a user