답변:
선호하는 방법은 SDK 를 다운로드하여 사용하는 것입니다 adb logcat
(장치에서 "개발자 옵션"을 활성화해야 함).
전체 시스템 로그를 볼 수있는 앱이 있지만 루팅 된 기기에서만 작동하거나 작동하려면 수동 명령을 실행 adb
해야합니다. 자세한 내용을 보려면 이 질문을 참조하십시오.
SDK 를 다운로드하고 Google Play 스토어에서 Logcat Extrem 을 사용 adb logcat
하거나 가져 오면 휴대 전화에 직접 로그가 표시됩니다.
로그 (충돌을 포함하여 로그 포함)가 나타날 수있는 여러 디렉토리가 있습니다. 모든 디렉토리가 표준화 된 것은 아닙니다 (즉, 일부는 ROM에 따라 다를 수 있음).
/data/anr
: 일부 추적 파일이 여기에있는 것 같습니다 (Dalvik은 ANR에 스택 추적을 여기에 씁니다 (예 : "응답이 응답하지 않음", "포스-클로즈"). 예를 들어 로그 발췌 참조 )/data/dontpanic
표준 위치 (AOSP)로 보이며 추적을 포함한 일부 충돌 로그가 포함되어 있습니다 (예 : viaForensics 및 StackOverflow 참조 )/data/kernelpanics
Android 기기에 "커널 패닉"이없는 다른 위치입니다. 아직 콘텐츠가 없습니다./data/panic/panic_daemon.config
구성된 다른 위치에 5 점 - 내 드로이드 2에 그것은 언급/sdcard/panic_data/
/data/panicreports
디렉토리가 있습니다 (여기서는 비어 있음)./data/tombstones
여러 tombstone_nn
파일을 보유 할 수 있습니다 ( nn
시리얼이있을 때마다 새 파일마다 증가). 묘비가 죽은자를 위해 배치됨에 따라 여기서 "사고로 사망 한 프로세스"(예 : 추락)에 대해 수행되며 Linux / Unix 시스템에서 "코어 덤프"라고합니다. 그러나 모든 앱이 묘비를 생성하는 것은 아닙니다. 개발자가 명시 적으로 활성화해야합니다 ( Android 코어 덤프 디버깅 참조 ).나를 탈출 한 곳이 더있을 수 있습니다. 그러나 대부분의 로깅이 완료 tmpfs
되면 재부팅시 이러한 데이터가 손실되고 OP 질문과 일치하지 않습니다.
여러 명령으로 많은 정보를 얻을 수 있습니다. 대부분의 경우 파일로 파일을 리디렉션 > filename.ext
하거나 ( | grep search-for-this
) 필터를 통해 파이프하는 것이 좋습니다 ( ).
다음은 루트없이 작동합니다.
$ dmesg
<6>[82839.126586] PM: Syncing filesystems ... done.
<7>[82839.189056] PM: Preparing system for mem sleep
<4>[82839.189361] Freezing user space processes ... (elapsed 0.05 seconds) done.
<4>[82839.240661] Freezing remaining freezable tasks ... (elapsed 0.00 seconds) done.
<snip>
여기에서 라디오, 이벤트 등 관심 분야를 지정할 수 있습니다.
# logcat -b events
I/am_create_service( 3457): [1085416560,nitro.phonestats/.widget.WidgetProvider4x1$WidgetUpdateService4x1,,3721]
I/am_destroy_service( 3457): [1085416560,nitro.phonestats/.widget.WidgetProvider4x1$WidgetUpdateService4x1,3721]
I/notification_cancel( 3457): [nitro.phonestats,4,0]
<snip>
그리고 그 많은 것들 : 장치 세부 사항, 계정 정보, 서비스 ...
$ dumpsys
Currently running services:
LocationProxyService
SurfaceFlinger
accessibility
account
activity
<snip>
DUMP OF SERVICE account:
Accounts:
1 Account {name=xxxxxxx@googlemail.com, type=com.google}
<snip>
$ dumpstate
========================================================
== dumpstate: 2012-08-18 23:39:53
========================================================
Build: Gingerbread GWK74 - CyanogenMilestone2
Bootloader: 0x0000
Radio: unknown
<snip>
------ MEMORY INFO (/proc/meminfo) ------
MemTotal: 487344 kB
MemFree: 10436 kB
<snip>
logcat에서 dumpstate에 이르기까지 모든 것을 함께 큰 공을 만드십시오.
$ bugreport > /mnt/sdcard/bugreport.txt
나는 당신이 정말로 마지막 명령을 리디렉션하고 싶다고 확신합니다 ... xD
추신 : 당연히 대부분의 소스가 내부 저장소에 있기 때문에 이러한 정보에 액세스하려면 루트가 필요할 수 있습니다.
새로운 안드로이드 버전에서도 작동하는 루트가없는 방법 :
전제 조건 :
명령:
Terminal
Spotlight를 입력 하고 엽니 다adb devices
을 입력 하여 장치가 올바르게 연결되어 있는지 확인하십시오.adb logcat
하여 강력하고 마술적인 로그 캣 (일명 스택 추적)을 표시하십시오.( Leandros 에서 대부분 복사 )
에 있습니다 /sdcard/bugreports
.