Android15 Frameworks层(.java)打印函数调用关系
·

这里介绍Android框架层AM组件中函数调用关系打印。
具体点,想在frameworks/base/services/core/java/com/android/server/am/ProcessList.java killPackageProcessesLSP()中打印函数调用关系,可以用如下方法,
1.Throwable printStackTrace方法打印调用栈
//frameworks/base/services/core/java/com/android/server/am/ProcessList.java
boolean killPackageProcessesLSP(String packageName, int appId,
int userId, int minOomAdj, boolean callerWillRestart,
boolean allowRestart, boolean doit, boolean evenPersistent,
boolean setRemoved, boolean uninstalling,
int reasonCode, int subReason, String reason) {
{
...
Slog.d(TAG, "=== AM StackTrace ===\n");
new Throwable().printStackTrace();
...
}
2.Thread getStackTrace方法打印调用栈
//frameworks/base/services/core/java/com/android/server/am/ProcessList.java
boolean killPackageProcessesLSP(String packageName, int appId,
int userId, int minOomAdj, boolean callerWillRestart,
boolean allowRestart, boolean doit, boolean evenPersistent,
boolean setRemoved, boolean uninstalling,
int reasonCode, int subReason, String reason) {
{
...
Slog.d(TAG, "=== AM StackTrace ===\n" +
Arrays.toString(Thread.currentThread().getStackTrace());
...
}更多推荐



所有评论(0)