Add a host shell function to generate system_server stack traces

For debugging non-ANR weird states in the system server, it is incredibly handy
to be able to force a complete thread-stack dump of that process.  Here's a
shell function that does so (creating the /data/anr/traces.txt file with the
usual permissions if it does not yet exist).

Depends on adb having been configured to run as root.

Change-Id: I01d9d733ef08ffefb00cb61968df36ecf62087f0
This commit is contained in:
Christopher Tate 2009-11-12 15:33:08 -08:00
parent 31597999a6
commit 744ee8025a

View file

@ -687,6 +687,13 @@ function pid()
fi fi
} }
# systemstack - dump the current stack trace of all threads in the system process
# to the usual ANR traces file
function systemstack()
{
adb shell echo '""' '>>' /data/anr/traces.txt && adb shell chmod 776 /data/anr/traces.txt && adb shell kill -3 $(pid system_server)
}
function gdbclient() function gdbclient()
{ {
local OUT_ROOT=$(get_abs_build_var PRODUCT_OUT) local OUT_ROOT=$(get_abs_build_var PRODUCT_OUT)