From 01870bdb98692b0130399b30402154f5a6bab517 Mon Sep 17 00:00:00 2001 From: Ziyang Zhou Date: Wed, 27 Dec 2023 18:58:49 +0800 Subject: [PATCH] refine redroid debug script --- debug.sh | 84 ++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 51 insertions(+), 33 deletions(-) diff --git a/debug.sh b/debug.sh index 3c470d1..c9421cf 100755 --- a/debug.sh +++ b/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 "==================================="