当捕获到异常时,我们可以调用 Throwable.printStackTrace() 来转储堆栈跟踪。但我还想将每个帧的参数值转储到堆栈跟踪中。这在 Android 的 dalvik JVM 上可行吗? 异常堆栈示例:
java.lang.NullPointerException
at com.xxxx.activity.OperationActivity.showError(OperationActivity.java:879)
at com.xxxx.activity.SearchActivity.showList(SearchActivity.java:611)
at com.xxxx.activity.OperationActivity.checkState(OperationActivity.java:756)
at com.xxxx.activity.SearchActivity$14.handleMessage(SearchActivity.java:627)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4898)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)
at dalvik.system.NativeStart.main(Native Method)
我想在堆栈跟踪上打印每个帧的所有函数参数值,例如:com.xxxx.activity.OperationActivity.showError() 函数的参数值。
非常感谢。
最佳答案
看StackTraceElement Android dalvik 不存储此信息,它仅在 Debug模式下可用。
关于java - 如何在 Android dalvik JVM 上转储堆栈跟踪的函数参数值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20215671/