【发布时间】:2014-07-02 21:28:22
【问题描述】:
我正在尝试获取从 android Java 应用程序代码调用并尝试使用的底层 C 代码的堆栈跟踪 dumpStack() 和 printStackTrace() 没有任何成功。 只是好奇这两者之间是否有区别?
另外有没有办法打印底层C代码的堆栈跟踪,使用JNI调用android端的java函数?
【问题讨论】:
-
一个区别是你可以随时调用dumpStack(),而printStackTrace()来自Throwable,这意味着你只有在引用了Throwable时才能调用它。
-
好吧,我已经能够使用 Thread.currentThread().printStackTrace() 而不引用 Throwable 并且基本上可以从任何地方调用它。
-
不,你没有。没有这样的方法。有 Thread.dumpStack() 和 Throwable.printStackTrace()。
-
stackoverflow.com/questions/1069066/… 而不是使用 get 我能够成功使用 print 并能够在我的 Logcat 上打印出堆栈跟踪
-
那是 Thread.getStackTrace()。不是你上面所说的 Thread.printStackTrace()。
标签: java android debugging stack-trace backtrace