2013-03-05 79 views
1

我正在測試2個設備使用套接字進行通信並監視時間戳值的應用程序。我從DDMS的角度選擇所需的設備名稱。但是一些初始日誌丟失了(因爲我在代碼中有很多Log.d語句)。我想在兩個手機中停止應用程序後存儲整個日誌文件。有人能告訴我如何使用adb在命令行中完成這項工作嗎?我無法找到2個設備的任何示例。 感謝使用adb獲取2個設備的完整日誌

回答

1

您可以用兩個控制檯試圖讓logcat的分別爲兩臺設備

使用adb devices

爲每臺設備的序列號,並保存的logcat爲文本文件

控制檯1:adb -s <device1serialNO> logcat -d > logcat1.txt

控制檯2:adb -s <device2serialNO> logcat -d > logcat2.txt

如果需要

+0

感謝您的回覆。但是我無法看到日誌中的時間戳字段(來自Logcat)。請讓我知道如何過濾日誌? – user1741274 2013-03-06 07:41:08

+0

要過濾logcat消息,您可以使用「adb -s logcat -s」TAGNAME「-d> logcat1.txt」。 – UdayaLakmal 2013-03-06 08:01:59

+0

用於帶時間戳和過濾器的標記名稱爲「adb -s logcat -v time -s」TAGNAME「-d> logcat1.txt」 – UdayaLakmal 2013-03-06 08:06:13

1

啓動您的應用程序,你可以在你的終端啓動下面的命令之前,您可以爲給定的標籤篩選結果:

adb logcat <your_application_log_tag>:V *:S > file.txt 

<your_application_log_tag>是,你在你的應用程序中使用日誌標籤。 *:S表示您禁止其他組件的所有日誌輸出。 > file.txt將命令的輸出重定向到file.txt

問題的原因在於,對於日誌記錄,Android在RAM中有一個緩衝區,如果它變滿了,它會重寫最舊的條目(FIFO)。我提供的命令會將日誌存儲在您的計算機上。