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() {
|
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 "==================================="
|
||||||
|
|||||||
Reference in New Issue
Block a user