logcatによって使用されるログソース(デフォルト設定:adb shell logcat
)。 dmesgログはlogcatの出力に含まれていますか?そうでない場合は、dmesgログとlogcatログの違いは何ですか?logcatとdmesgの違いは何ですか?
答えて
ソースコードhttps://github.com/android/platform_system_core/blob/master/liblog/logd_write.cLog.d(String tag, String message)
によると、/dev/log/main
に直接書き込みます。
あなたはこのadb shell echo "Hello world" >> /dev/log/main
しかしdmesg
版画のように存在し、カーネルのリングバッファの内容を書き込むことができます。したがって、dmesg
はカーネルログへのシステム書き込みのみを出力し、logcat
はアンドロイドアプリのログのみを出力します。
LOGCAT--これはAndroidの中のアクティビティマネージャーによって書かれたさまざまなメッセージを見るために使用されています。アンドロイドもLinuxカーネルを使用していますが、カーネルが起動すると/ probingが処理されている)、アンドロイドはinitというプロセスを起動します。このプロセスは、すべてのアンドロイドシステムアクティビティを含むinit.rcファイルを解析します。このinit.rcファイルにはアンドロイドの基本プロセスがありますDalvik仮想マシンを起動するzygoteと呼ばれ、その後、アプリケーションがハードウェアとやりとりするために使用される他のすべてのアクティビティマネージャが含まれます。その基本的にVMからのメッセージです。アプリケーションプログラマがそれをデバッグするためのものです。 logcat例 http://pastebin.com/bV1Vd6EQ
それはカーネルからのメッセージであるDmesg-、uはドライバを書くと仮定し、それはドライバや他のカーネルコードをデバッグするためのツールとして使用することができ、それらのほとんどは、その良い方法ドライバのメッセージですデバッグ、カーネル、ドライバなど。 dmesgの例 http://pastebin.com/P4ja9PFi
LogcatのみAndroidと他のOSでの利用できないため、Logcatとdmesgの両方が、すべてのLinuxディストリビューションのために逆にAndroid上で利用可能であるが、されていません。
に関して、 zubraj
dmesgとlogcatの両方でスクリプトを実行しているLinuxで "echo xxx"が見つかりません。どこに行くのですか? – ransh
私は両方のdmesgとlogcatでスクリプトを実行するLinuxで「エコーXXX」を見つけることができないので、どこに行くのでしょうか? – ransh