15

リトレースを機能させるには、E / AndroidRuntime(10237)のようなproguard.traceファイルから行を削除する必要があります。基本的に私はログファイルを見ているので、この行を削除する必要があります。そうしないと、リトレースが機能しません。私は何かが足りないのですか、それともすべてのスタックトレースに対してこれを行う必要がありますか?基本的に、その前の情報は、次のようなスタックトレース行の先頭に表示されます。

 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.shmapping.txtproguard.retraceを実行しています。その内容は上記のとおりです。E / AndroidRuntime(10237)を削除しない限り、リトレースできません。リトレースするオプションがいくつかありませんか。これを機能させるには、トレースファイルをどのように準備する必要がありますか?行の最初の部分を削除した後に機能するため、マッピングファイルではないと思います。

4

3 に答える 3

2

ReTrace の最近のバージョンでは、"E/AndroidRuntime(10237):" のような logcat プレフィックスを使用してスタック トレースを解析できるため、問題はなくなりました。

ReTrace が解析できないスタック トレース形式がある場合は、オプション-regexを使用して独自の正規表現をいつでも指定できます。

于 2013-07-28T10:20:04.933 に答える
1

recatを試してください。これは、logcat-color に基づいた Python スクリプトであり、まさにこのシナリオのために作成された、オンザフライの logcat 難読化解除です (ただし、Windows では機能しません)。主なアイデアは、ログの各部分 (タグ/メッセージ) を個別に難読化解除することです。

于 2015-12-09T19:40:02.820 に答える