모바일 취약점 점검/Android

[Android] logcat 사용법

서쪽곰 2024. 5. 9. 15:40

목 차

     

    1. logcat 이란

    Logcat은 안드로이드 시스템 및 앱에서 발생하는 로그 메시지를 출력하는 도구입니다.
    말 그대로 "로그(Log)"와 "캣(Cat)"의 합성어로, 유닉스 시스템에서 "캣(cat)" 명령어로 파일 내용을 출력하는 것처럼, 안드로이드 로그를 출력하는 데 사용됩니다.

    앱 디버깅: 앱 개발 중 발생하는 오류나 문제를 해결하는 데 도움이 됩니다. 앱에서 출력하는 로그 메시지를 확인하여 어떤 부분에서 오류가 발생하는지 파악할 수 있습니다.


    시스템 상태 확인: 안드로이드 시스템의 상태를 확인하는 데에도 사용할 수 있습니다. 시스템 메시지, 가비지 컬렉션 발생 정보 등을 확인할 수 있습니다.


    앱 성능 분석: 앱의 성능을 분석하는 데에도 도움이 됩니다. 앱 실행 속도, 메모리 사용량 등을 확인할 수 있는 로그 메시지를 확인할 수 있습니다.

     

    2. logcat 옵션 및 사용법

    -f 옵션: 로그 메시지 출력을 파일에 작성

    logcat -f log.txt


    -c 옵션: 전체 로그를 지우고 종료

    logcat -c


    --pid 옵션: 프로세스 ID(PID) 기준으로 로그를 필터링

    logcat --pid=1234

     

    -v <옵션>: 로그 출력 형태 변경

    • brief: 메시지를 발급하는 프로세스의 우선순위, 태그, PID를 표시합니다.
    • long: 모든 메타데이터 필드와 별도의 메시지를 빈 줄과 함께 표시합니다.
    • process: PID만 표시합니다.
    • raw: 다른 메타데이터 필드가 없는 원시 로그 메시지를 표시합니다.
    • tag: 우선순위와 태그만 표시합니다.
    • thread:: 메시지를 발급하는 스레드의 날짜, 호출 시간, 우선순위/태그, PID, TID를 표시하는 기존 형식입니다.
    • threadtime(기본값): 메시지를 발급하는 스레드의 날짜, 호출 시간, 우선순위/태그, PID, TID를 표시합니다.
    • time: 메시지를 발급하는 프로세스의 날짜, 호출 시간, 우선순위/태그, PID를 표시합니다.

    위의 형식 수정자들은 아래의 옵션과 결합해서 사용가능

    • color: 각 우선순위 수준을 다른 색상으로 표시합니다.
    • descriptive: 로그 버퍼 이벤트 설명을 표시합니다. 이 수정자는 이벤트 로그 버퍼 메시지에만 영향을 미치며 다른 비 바이너리 버퍼에는 영향을 미치지 않습니다. 이벤트 설명은 이벤트 로그 태그 데이터베이스에서 가져옵니다.
    • epoch: 1970년 1월 1일부터 시작되는 초 단위의 시간을 표시합니다.
    • monotonic: 마지막 부팅에서 시작하여 CPU 초 단위로 시간을 표시합니다.
    • printable: 바이너리 로깅 콘텐츠가 이스케이프 되었는지 확인합니다.
    • uid: 액세스 제어에서 허용하는 경우 로깅된 프로세스의 UID 또는 Android ID를 표시합니다.
    • usec: 마이크로초 단위의 정밀도로 시간을 표시합니다.
    • UTC: 시간을 UTC로 표시합니다.
    • year: 표시된 시간에 연도를 추가합니다.
    • zone: 표시된 시간에 현지 시간대를 추가합니다.
    adb logcat --pid=11429 -v long -v color

     

    3. GUI 형태 logcat

    https://mlogcat.tistory.com/

     

    mLogcat

    Android Logcat and Kernel Message Viewer for Windows

    mlogcat.tistory.com

     

    CLI 형태가 싫으면 GUI 형태의 logcat 프로그램을 사용할 수 있습니다.

     

    mLogcat

     

    반응형