refine redroid debug script

This commit is contained in:
Ziyang Zhou
2023-12-27 18:58:49 +08:00
parent 5745ee3ea4
commit 01870bdb98

View File

@@ -1,51 +1,64 @@
#!/bin/bash #!/usr/bin/env bash
usage() { usage="
script=`basename "$0"` USAGE: $(basename "$0") [container] [-h]
echo "USAGE: $script [container]"
echo;echo where:
} container: container id or container name
usage "
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` tmp_dir=`mktemp -d`
echo "creating tmp dir: $tmp_dir" #echo "creating tmp dir: $tmp_dir"
cd $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; } > drivers.txt
grep binder /proc/filesystems
grep ashmem /proc/misc
}
check_drivers > drivers.txt
uname -a > uname.txt uname -a &> uname.txt
lscpu > lscpu.txt lscpu &> lscpu.txt
getenforce &> getenforce.txt getenforce &> getenforce.txt
check_gpu() { {
lshw -C display lshw -C display
ls -al /dev/dri/ ls -al /dev/dri/
cat /sys/kernel/debug/dri/*/name cat /sys/kernel/debug/dri/*/name;
} } &> dri.txt
check_gpu > dri.txt
dmesg -T > dmesg.txt dmesg -T > dmesg.txt
docker info > docker-info.txt docker info &> docker-info.txt
if [ ! -z $1 ]; then if [[ -n $container ]]; then
docker exec $1 ps -A > ps.txt docker exec $container ps -A &> ps.txt
docker exec $1 logcat -d > logcat.txt docker exec $container logcat -d &> logcat.txt
docker exec $1 logcat -d -b crash > crash.txt docker exec $container logcat -d -b crash &> crash.txt
docker exec $1 /vendor/bin/vainfo -a > vainfo.txt docker exec $container /vendor/bin/vainfo -a &> vainfo.txt
docker exec $1 getprop > getprop.txt docker exec $container getprop &> getprop.txt
docker exec $1 dumpsys > dumpsys.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" echo "************** ip a"
ip a ip a
echo "************** ip rule" echo "************** ip rule"
@@ -53,11 +66,16 @@ if [ ! -z $1 ]; then
echo;echo "************** ip r show table eth0" echo;echo "************** ip r show table eth0"
ip r list table eth0 ip r list table eth0
EOF EOF
docker container inspect $1 > container-inspect.txt docker container inspect $container &> container-inspect.txt
docker image inspect `docker container inspect -f '{{.Config.Image}}' $1` > image-inspect.txt docker image inspect `docker container inspect -f '{{.Config.Image}}' $container` &> image-inspect.txt
fi fi
tmp_tar=${tmp_dir}.tgz 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 "==================================="