我需要从proguard.trace文件(如E/AndroidRuntime(10237))中删除行,以使跟踪工作。基本上,我正在查看日志文件,需要删除此行,否则回溯将不起作用。我是否缺少某些内容,还是需要为每个堆栈跟踪执行此操作?基本上,之前的信息会出现在stacktrace行的开头,例如

 E/AndroidRuntime(10237):  at com.test.a.b.c(UnnownSource) :134

这是整个堆栈跟踪:
E/AndroidRuntime(10237): FATAL EXCEPTION: main
E/AndroidRuntime(10237): java.lang.ArithmeticException: divide by zero
E/AndroidRuntime(10237):    at ub.a(SourceFile:180)
E/AndroidRuntime(10237):    at wp.getView(SourceFile:290)

E/AndroidRuntime(10237):    at android.app.ActivityThread.main(ActivityThread.java:4627)
E/AndroidRuntime(10237):    at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(10237):    at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime(10237):    at  com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
E/AndroidRuntime(10237):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
E/AndroidRuntime(10237):    at dalvik.system.NativeStart.main(Native Method)
      etc
E/        ( 2623): Dumpstate > /data/log/dumpstate_app_error

因此,我正在运行./retrace.sh mapping.txt proguard.retrace,其内容已在上方。除非删除E/AndroidRuntime(10237),否则它不会回溯:
我是否缺少一些回溯选项。如何为此准备跟踪文件?我不认为它是映射文件,因为在删除该行的第一部分后它可以工作。

最佳答案

Proguard希望将每个“at”放在单独的行上,并且仅在其前面留有空格。如果在at之前看到空白以外的任何内容,则不会对其进行模糊处理。

关于android - Proguard Retrace无法使用stacktrace运行时信息,例如E/AndroidRuntime(10237):,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10542797/

10-14 17:27
查看更多