web-dev-qa-db-ja.com

ADBLogcatタイムスタンプはどのように機能しますか

AirPadでイベントがいつ発生するかを把握しようとしているので、logcatコマンドを発行しています。

adb logcat -v time -d -b radio -b events -b main -b system -b radio

ただし、タイムスタンプを見ると、各バッファの最初のタイムスタンプは、その前のバッファの最後のタイムスタンプの直後に開始されているように見えます。

--------- beginning of /dev/log/radio

10-20 19:30:37.878 D/RILD    (   53): Do not switch user to radio

...

10-20 19:30:37.998 D/RIL     (   53): Wait device...

--------- beginning of /dev/log/events

10-20 19:30:39.608 I/boot_progress_start(   54): 9398

...


10-20 19:31:13.998 D/RIL     (   53): Wait device...

--------- beginning of /dev/log/system

10-20 19:31:15.008 D/ConnectivityService(   99): tearing down Mobile networks due to setting

...

10-20 19:32:28.418 V/ActivityManager(   99): Launching: HistoryRecord{408d6a00 com.Amazon.Kindle/com.Amazon.kcp.reader.BookReaderActivity} icicle=null with results=null newIntents=null andResume=true

--------- beginning of /dev/log/main

10-20 19:32:28.428 D/VPU     (   55): VPU: vpu_power_on 01`

だから私の質問は、タイムスタンプは何を表していますか?それらはイベントが発生した時間を表しますか?もしそうなら、なぜ彼らはこのように働いているのですか?

21
user927728

タイムスタンプは正しいです。

複数のバッファーを指定する場合、logcatはそれらすべてを絡み合わせ、時間順に並べられたすべてを出力します。 「beginningof ..」行は、各バッファの最初のメッセージがどこにあるかを示しているだけです。それらはnotファイルセパレータです。

1
Snild Dolkow

タイムスタンプは、イベントの時刻を表します。

logcatは、実際には複数のバッファーの指定をサポートしていません。表示されているように見えますが、「-d」を省略すると、引き続き1つのバッファーのみが表示されます。

Adb logcatが最初に(リング)バッファリングされたエントリを表示するため、タイムスタンプは異常に見えます。 「-g」でバッファサイズを確認できます。私の電話ではその256kb。

0
Dirk Jäckel