21

我试图弄清楚我的 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`

所以我的问题是,时间戳代表什么——它们代表事件发生的时间吗?如果是这样,他们为什么要这样工作?

4

2 回答 2

1

时间戳是正确的。

当指定多个缓冲区时,logcat 将它们全部交织在一起,并打印按时间排序的所有内容。“beginning of..” 行仅指示每个缓冲区的第一条消息在哪里;它们不是文件分隔符。

于 2016-02-27T15:51:30.517 回答
0

时间戳表示事件的时间。

logcat 并不真正支持指定多个缓冲区。看起来确实如此,但如果您省略“-d”,它将继续只显示一个缓冲区。

时间戳似乎不寻常,因为 adb logcat 首先显示(环)缓冲条目。您可以通过“-g”查看缓冲区大小。在我的手机上是 256kb。

于 2012-06-15T20:56:06.133 回答