0

JNI(自分で作成したもの)の共有オブジェクトを使用して、セゴートを引き起こしているAndroidアプリケーションがあります。ただし、クラッシュするたびに/ dev / log / mainが次のようなメッセージで溢れているため、デバッグに苦労しています。

06-18 12:50:31.069  2863  2863 I DEBUG   :     453b7608  ffffffff  
06-18 12:50:31.069  2863  2863 I DEBUG   :     453b760c  ffffffff  
06-18 12:50:31.069  2863  2863 I DEBUG   :     453b7610  ffffffff  
06-18 12:50:31.069  2863  2863 I DEBUG   :     453b7614  ffffffff  
06-18 12:50:31.069  2863  2863 I DEBUG   :     453b7618  ffffffff  
06-18 12:50:31.069  2863  2863 I DEBUG   :     453b761c  ffffffff  
06-18 12:50:31.069  2863  2863 I DEBUG   :     453b7620  ffffffff  
06-18 12:50:31.069  2863  2863 I DEBUG   :     453b7624  ffffffff  
06-18 12:50:31.069  2863  2863 I DEBUG   :     453b7628  ffffffff

スタックトレースで関連情報を見つけることができるように、電話のすべてのメモリアドレスのように見える出力を抑制する方法はありますか?

(もっとこのようなもの):

06-18 13:07:35.857 11350 11350 I DEBUG   : signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 452c7000
06-18 13:07:35.857 11350 11350 I DEBUG   :  r0 00000021  r1 452c66a0  r2 00000033  r3 0000003c
06-18 13:07:35.857 11350 11350 I DEBUG   :  r4 000000a1  r5 452c7000  r6 002cf880  r7 453c6b08
06-18 13:07:35.857 11350 11350 I DEBUG   :  r8 4051e618  r9 00020000  10 51eb851f  fp 81f03700
06-18 13:07:35.857 11350 11350 I DEBUG   :  ip 00000064  sp 452c6af8  lr 81f00e35  pc 81f00df8  cpsr 00000030
06-18 13:07:35.857 11350 11350 I DEBUG   :  d0  0000000000000000  d1  0000002f00000000
06-18 13:07:35.857 11350 11350 I DEBUG   :  d2  4da4480e423d3abc  d3  006f1fe04a5247c0
06-18 13:07:35.857 11350 11350 I DEBUG   :  d4  00000000003491f0  d5  0000000000000000
06-18 13:07:35.857 11350 11350 I DEBUG   :  d6  3f80000000000000  d7  43200000000000a0
06-18 13:07:35.857 11350 11350 I DEBUG   :  d8  0000000000000000  d9  0000000000000000
06-18 13:07:35.857 11350 11350 I DEBUG   :  d10 0000000000000000  d11 0000000000000000
06-18 13:07:35.857 11350 11350 I DEBUG   :  d12 0000000000000000  d13 0000000000000000
06-18 13:07:35.857 11350 11350 I DEBUG   :  d14 0000000000000000  d15 0000000000000000
06-18 13:07:35.857 11350 11350 I DEBUG   :  scr 60000012
06-18 13:07:35.857 11350 11350 I DEBUG   : 
06-18 13:07:35.887 11350 11350 I DEBUG   : tid 11348 not responding!

私は主にEclipseでDDMSパースペクティブを使用adb shellしますが、Eclipseのウィンドウがすぐに圧倒されるため、メインログから直接ダンプをキャッチするために使用する必要がありました。これは受け入れられないワークフローです。

4

2 に答える 2

0

クラッシュが実際に発生する前にコンソールを開いて実行してみてください

adb logcat -s DEBUG | grep -v ffffffff > debug.log

ホスト上のファイルに logcat をリダイレクトできます。おそらく、クラッシュ後にこの巨大なファイルを表示する方法が見つかるでしょう。

于 2012-06-20T15:06:47.053 に答える
0

開発マシンのファイルに logcat をパイプします。

adb logcat > logfile

または、ティーをお持ちの場合は、このようにして、飛んでいくのも見られるようにします

adb logcat | tee logfile

次に、お気に入りのテキスト エディターでファイルを開き、関心のある項目を検索します。

さまざまな grep フィルターを使用して、less や more などのページャーにパイプすることもできますが、真剣に研究する必要がある問題については、ファイルに保存して移動できるエディターで調べる方が適しています。

于 2012-06-20T15:11:04.973 に答える