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() {
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 "==================================="