자세한건 http://developer.android.com/guide/developing/tools/adb.html#logcat
            http://mungi.kr/159


windows:

아래와 같이 하면 한글을 볼 수 있단다.

1. Win + R / cmd
2. cmd /u
3. chcp 65001
4. 콘솔창의 속성에서 폰트,를 Lucida Console 로 변경해준다.
5. adb logcat


mac:

터미널을 열고 별다른 작업없이 'adb logcat' 하면 한글이 깨지지 않고 나온다.


원하는 tag 의 로그만 보고 싶을 때..


adb logcat 보고자하는태그:태그우선순위 *:S


이런식으로 주면 보고자 하는 태그를 갖는 녀석만 출력된다.
마지막에 *:S는 나머지는 모두 Silent 조용히 시키는것임!

태그 우선순위는 Verbose / Debug / Info / Warning / Error / Fatal / Silent 순


adb logcat *:I


라고 명령어를 입력하면 Info 이상의 우선순위를 갖는 로그를 출력한다.


adb logcat tag1:I *:S


라고 명령어를 입력하면 tag 에 tag1 이라고 준 Info 에 해당하는 로그만 출력한다.

( Log.i( "tag1", ... ) 로 출력한 로그먄 보여진다는 얘기.. )



환경 변수에 미리 설정을 추가 해놓으면 할때마다 안 써도 된다.

export ANDROID_LOG_TAGS="ActivityManager:I MyApp:D *:S"


time stamp 를 붙이려면

adb logcat -v time


 

도스에서 팁.

2>&1|tee build.log

1 은 standard (표준출력)
2 는 standard error (표준 에러)

그러므로 2>&1  표준 에러를 표준 출력으로 redirection

 build.log 앞에 > (redirection) 대신 | tee가 들어간 이유는  redirection으로 처리할경우 build.log가 표준출력 내용을 먹어버리기 때문에
화면출력과 파일 출력을 동시에 하기위해서 사용

 
비슷한 팁으로 실행 시 printf로그 없애는 방법

./app > /dev/null 2>&1 &

logcat 보면서 저장하기
adb logcat  -v time -b main -b radio -b events -b system 2>&1|tee 00_logcat.log

커널 메세지 보면서 저장하기
adb wait-for-device && adb shell cat /proc/kmsg 2>&1|tee 00_kmsg.log

'Japan > Work As Tester' 카테고리의 다른 글

자주쓰는 Secret code_Samsung  (0) 2016.04.17
ims-volte-sip  (0) 2016.03.19
로그 보면서 파일로 저장하기  (0) 2016.03.18
로그, 속성 관련  (0) 2016.03.18
adb shell 명령어  (0) 2016.03.18
VoLTE관련  (0) 2016.03.18


*** Android Debug ***

* Kernel Debug
=====================================================
* adb shell
- cat proc/kmsg : kernel 로그 메세지를 볼 수 있음.

   adb devices 로 폰 연결확인
   adb shell
   > cat /proc/kmsg&  커널메시지 나옴 ex: <number>형식
   > logcat&          플랫폼메시지 나옴 
   adb logcat -b radio > xxx.txt 릴 로그

dmesg : 가장 최근 메세지 출력
===================================================

* kernel message 찍기 (파일이름, 함수이름, 라인넘버)
===================================================
printk(KERN_ERR "%s : %s : %d \n, __FILE__, __func__, __LINE__)
===================================================

* 부팅시 Serial 로 메세지 찍는 방법
===================================================
setenv SWITCH_SEL 3
saveenv

로그 레벨 변경하는 방법
----
setenv CMDLINE console=ttySAC2,115200 loglevel=7
saveenv

현재 상태 보는 방법
----
printenv


===================================================

* emergency mode 들어가는 법: anyway function 부분 2,6번 내리고 폰연결하면 들어간다.



- wake lock 보는 방법
---------
#cat /sys/power/wake_lock


- wake unlock 보는 방법
---------
#cat /sys/power/wake_unlock


- wake lock setting 방법
---------
#echo test > /sys/power/wake_lock


- wake unlock setting 방법
---------
#echo test > /sys/power/wake_unlock


- 현재 wake lock 보는 방법
---------
#cat /proc/wakelocks

- Threads 보는 방법
---------
#ps
#ps -t

- Thread 죽이는 방법
---------
#kill "PID"
#kill -9 "PID"

- dumpsys 보는 방법
---------
#dumpsys power
#dumpsys alarm


- 의심되는 Thread 가 있을 경우에 확인 방법
의심되는 Thread의 PID를 확인후에
#cd proc
#cd "PID"
#cat wchan (현재 상태 확인)

#cat cmdline (매개변수 확인)

-속성 변경하는 방법 (read, write)
-----------------------------
    chown system system /data
    chmod 0771 /data
-----------
위 부분의 속성을 system으로 바꿔서 read write 가능하게 하려면~
-----------------------------
    chown system system /system
    chmod 0771 /system
-----------
이렇게 하면 apk 파일을 지울수 있다.


adb logcat  -v time -b main -b radio -b events -b system 2>&1|tee 00_logcat.log


출처 http://mungi.kr/172

'Japan > Work As Tester' 카테고리의 다른 글

ims-volte-sip  (0) 2016.03.19
로그 보면서 파일로 저장하기  (0) 2016.03.18
로그, 속성 관련  (0) 2016.03.18
adb shell 명령어  (0) 2016.03.18
VoLTE관련  (0) 2016.03.18
디바이스와 adb 무선으로 사용하도록 세팅  (0) 2016.03.18

안드로이드 시스템 분석에 사용할만한 shell 명령을 알아보자.

시스템 기본 정보: 하드웨어, 커널 등

cat /proc/version : 커널 버전
cat /proc/cpuinfo : 프로세서 정보. CPU 타입, 모델, 제조사 등
cat /proc/meminfo : 메모리 정보. 실제 메모리 및 가상 메모리
cat /proc/devices : 현재 커널에 설정되어 있는 장치 목록
mount : 마운트된 모든 장치 정보
df : 하드디스크 사용량
cat /proc/filesystems : 커널에 설정되어 있는 파일시스템 목록
cat /proc/swaps : 스왑 파티션의 크기와 사용량
cat /proc/interrupts : 장치가 사용중인 인터럽트(IRQ) 목록 표시
cat /proc/ioports : 현재 사용중인 Input/Output 포트
cat /proc/loadavg : 시스템의 평균부하량
cat /proc/partitions : 파티션 정보
cat /proc/uptime : 시스템이 얼마나 살아있었는지.
cat /proc/stat : 시스템 상태에 관한 다양한 정보. CPU 사용통계, 부팅이후 page fault 발생횟수 등
cat /proc/zoneinfo : ZONEINFO ?
dmesg : 시스템 부팅시 나왔던 메시지
ps : 실행중인 프로세스 정보
ps -p -t : 프로세스와 쓰레드 목록
set 또는 printenv : 환경설정값 출력

시스템 리소스 사용 현황

vmstat : 시스템의 리소스 상황 모니터링. CPU, I/O, 메모리 등
cat /proc/diskstats : 디스크 utilization과 throuthput. 즉 디스크 IO 현황
top : 시스템의 프로세스 상황 모니터링. 프로세스별 CPU 사용량, 메모리와 스왑 사용량 등
procrank : 프로세스별 메모리(VSS,RSS,USS, PSS)
dumpsys meminfo [PID] : 해당 프로세스의 메모리 상세 정보
cat /proc/[PID]/stat : 해당 프로세스에 대한 정보. 시작시간, 상태, CPU 사용량 등
cat /proc/[PID]/maps : 해당 프로세스의 메모리 맵 정보
cat /proc/vmstat : 버추얼 메모리 통계?
librank : 라이브러리별 메모리 사용량?

네트워크 관련

cat /proc/net/netlink : 네트워크 정보
netcfg : 네트워크 인터페이스와 IP주소 목록
netstat : 네트워크 연결상태 확인
nc : 네트워크용 cat 명령어(netcat)
ifconfig : 네트워크 인터페이스 설정 정보. 장치명을 파라미터로 받음. IP 주소, 서브넷마스크 등
tcpdump : 실시간 패킷 모니터링
iftop : 네트워크를 위한 top
route : 해당 호스트까지 연결하는 중간 경로 정보인 라우팅 테이블 표시
ping : 원격 호스트와의 연결 테스트
cat /proc/net/route : Routes

안드로이드 제공

logcat : 로그캣 보기
pm : package manager의 약자. 패키지/permission/instrumentation/feature 목록, 패키지 설치/제거 등
am : activity manager의 약자. 액티비티 시작, Intent 브로드캐스팅, Instrumentation 시작, profiling 시작/중지 등
service : 안드로이드 서비스 목록 표시, 서비스에 명령 전달
monkey : 애플리케이션에 랜덤 이벤트 발생시킴. 사용자 이벤트, 시스템 이벤트의 무작위 발행
cat /data/anr/traces.txt : VM TRACES (쓰레드 덤프)
cat /proc/binder/proc/[PID] : 바인더 프로세스 상태
cat /proc/binder/xxx : 바인더 관련 정보(xxx는 transactions, transaction_log, failed_transaction_log, stats 등)
cat /data/system/packages.xml : 설치된 패키지 세팅 정보
setprop : system property 세팅
getprop : 세팅된 system property 목록 출력


종합 리포트
dumpsys [service]: app/service 상태정보 덤프. 서비스별로 추가 파라미터 받을 수 있음
dumpstate : device 상태정보 덤프(cpu,mem,ps 등). 상태정보를 추출하는 여러 명령어들의 조합으로 구성
dumpcrash : 애플리케이션이 crash될 때의 상태정보 덤프?
bugreport : logcat+dumpsys+dumpstate

그밖에...
그밖의 안드로이드 shell 명령어는 /system/bin 및 /system/xbin을 뒤져보면 많이 나온다. 이제 남은 일은 찾아낸 명령어의 사용법, 출력결과를 

어떻게 해석할지, 어떤 상황에서 이들을 활용할지 사례조사, 그리고 직접 활용해보는 것일게다.

출처 http://ecogeo.tistory.com/256

* 참조

http://www.cyworld.com/polox94ii/312644

http://tkhwang.pe.kr/archives/65

http://en.androidwiki.com/wiki/ADB_Shell_Command_Reference

http://elinux.org/Using_Bootchart_on_Android

http://elenoa.tistory.com/52

'Japan > Work As Tester' 카테고리의 다른 글

로그 보면서 파일로 저장하기  (0) 2016.03.18
로그, 속성 관련  (0) 2016.03.18
adb shell 명령어  (0) 2016.03.18
VoLTE관련  (0) 2016.03.18
디바이스와 adb 무선으로 사용하도록 세팅  (0) 2016.03.18
ADB 명령어(1)  (0) 2016.03.18

+ Recent posts