Google Developer控制台堆栈跟踪了解

时间:2015-07-26 21:08:55

标签: android stack-trace

我在谷歌商店有一个应用程序,我收到堆栈跟踪崩溃。 问题是我无法获取崩溃线或文件,因为名称不像java文件中那样

java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:299)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
at java.util.concurrent.FutureTask.run(FutureTask.java:239)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:841)
Caused by: java.lang.OutOfMemoryError
at android.graphics.Bitmap.nativeCreate(Native Method)
at android.graphics.Bitmap.createBitmap(Bitmap.java:791)
at android.graphics.Bitmap.createBitmap(Bitmap.java:768)
at android.graphics.Bitmap.createBitmap(Bitmap.java:701)
at com.tech.myapp.dt.a(Unknown Source)
at com.tech.myapp.dt.doInBackground(Unknown Source)
at android.os.AsyncTask$2.call(AsyncTask.java:287)
at java.util.concurrent.FutureTask.run(FutureTask.java:234)

这里的问题是文件的名称为

at com.tech.myapp.dt.a(Unknown Source)
at com.tech.myapp.dt.doInBackground(Unknown Source)

如何检测行和哪个文件?

1 个答案:

答案 0 :(得分:1)

您似乎正在使用Proguard来混淆代码,因此要解码堆栈跟踪,您需要mapping.txt文件,并通过查看文件中的映射或使用retrace工具。有关如何使用retrace的信息,请参阅这些instructions

基本上,您需要在Windows平台上执行以下操作:

retrace.bat [-verbose] mapping.txt [<stacktrace_file>]

或在Unix风格的平台上:

retrace.sh [-verbose] mapping.txt [<stacktrace_file>]

但是,正如您正在查看OutOfMemoryError问题的真正原因可能在其他地方(例如,如果您在其他地方泄漏内存,则可能是您的Bitmap创建不是&#39这真的是问题),你只是在创建Bitmap时看到了问题,所以你可能需要更一般地查看你的内存使用情况和/或寻找内存泄漏。