Android 디 버 깅 도구 및 방법

Logcat
Dump 시스템 메시지 로그 입 니 다.이 메 시 지 는 시 뮬 레이 터 가 잘못 되 었 을 때의 스 택 추적 을 포함한다.
Android Log
시 뮬 레이 터 의 로그 파일 에 메 시 지 를 기록 하 는 로그 클래스DDMS 에서 logcat 를 실행 하면 실시 간 으로 메 시 지 를 볼 수 있 습 니 다.코드 에 로 그 를 쓰 는 몇 가지 방법 을 추가 하 십시오.로그 클래스 를 사용 하기 위해 서 는 Log. v () (상세), Log. d () (debug), Log. i () (information), Log. w () (warning) 또는 Log. e (error) (error) 만 호출 하고 원 하 는 로그 정보 에 따라 해당 하 는 방법 을 선택 하 십시오.
Log.i("MyActivity", "MyClass.getView() — Requesting item number " + position)
你可以用logcat来读取这些信息

Traceview
Android可以保存一个日志用来记录被调用的方法以及该方法被调用的次数,通过Traceview你可以在一个图形化的界面中查看这个日志文件。

adb
Android 디 버 깅 브리지 (adb) 는 다양한 용도 의 도구 입 니 다. 이 도 구 는 장치 나 시 뮬 레이 터 의 상 태 를 관리 하 는 데 도움 을 줄 수 있 습 니 다.
Android 명령 보 내기: 개발 기의 명령 줄 이나 스 크 립 트 에 Android 명령 을 발표 할 수 있 습 니 다. 사용 방법:
adb [-d|-e|-s ] 

셸 입장: adb 셸
시 뮬 레이 터/장치 인 스 턴 스 adb devices 에서 시 뮬 레이 터 의 시리 얼 번호 와 상 태 를 보 여 줍 니 다.
특정한 시 뮬 레이 터/장치 인 스 턴 스 에 명령 을 보 냅 니 다. 여러 개의 시 뮬 레이 터/장치 인 스 턴 스 가 실 행 될 경우 adb 명령 을 발표 할 때 대상 인 스 턴 스 를 지정 해 야 합 니 다.이렇게 하면 - s 옵션 의 명령 을 사용 하 십시오.사용 하 는 - s 옵션 은 adb - s 예: db - s emulator - 5556 install hello World. apk
설치 소프트웨어: adb install
시 뮬 레이 터/장치 에서 파일 을 복사 하거나 복사 하면 adbpull, push 명령 으로 파일 을 시 뮬 레이 터/장치 인 스 턴 스 의 데이터 파일 로 복사 하거나 데이터 파일 에서 복사 할 수 있 습 니 다.install 명령 은 하나의. apk 파일 만 특정한 위치 로 복사 합 니 다. pull 과 push 명령 은 임의의 디 렉 터 리 와 파일 을 시 뮬 레이 터/장치 인 스 턴 스 의 모든 위치 로 복사 할 수 있 습 니 다.시 뮬 레이 터 나 장치 에서 파일 이나 디 렉 터 리 를 복사 하고 사용 합 니 다. (다음 명령) adb pull 은 파일 이나 디 렉 터 리 를 시 뮬 레이 터 나 장치 로 복사 합 니 다. (다음 명령) adb push 는 이 명령 에서 각각 자신의 발전 기 (로 컬) 와 시 뮬 레이 터/장치 인 스 턴 스 (원 격) 를 말 합 니 다.위의 대상 파일/디 렉 터 리 의 경 로 는 다음 과 같은 예 입 니 다: adb push foo. txt/sdcard/foo. txt
조회 로그 adb logcat
Stopping the adb Server 는 어떤 경우 에 안 드 로 이 드 디 버 깅 시스템 의 실행 을 중지 한 다음 다시 시작 해 야 할 수도 있 습 니 다.예 를 들 어 안 드 로 이 드 디 버 깅 시스템 이 명령 에 응답 하지 않 으 면 서버 를 종료 하고 다시 시작 하면 이 문 제 를 해결 할 수 있 습 니 다. kill - server 로 adb server 를 종료 할 수 있 습 니 다.서버 를 다시 시작 하려 면 adb 로 start - server 명령 을 보 낼 수 있 습 니 다.
장치 디 버 깅 및 테스트 설정
안 드 로 이 드 는 더 쉬 운 디 버 깅 과 테스트 프로그램 을 제공 합 니 다.개발 설정 페이지 에 들 어 가 려 면 시 뮬 레이 터 에서 Dev Tools > Development Settings 로 이동 합 니 다.이 설정 페이지 에 다음 옵션 이 있 습 니 다:
  • Debug app: 디 버 깅 할 프로그램 을 선택 하 십시오.디 버 거 에 연결 할 필요 가 없 지만 이 값 을 설정 하면 두 가지 효과 가 있 습 니 다.
  • 디 버 깅 할 때 정지점 에서 너무 오래 멈 추 면 안 드 로 이 드 가 오 류 를 내 는 것 을 방지 합 니 다
  • 이 설정 은 '디 버 거 대기' 옵션 을 선택 하여 디 버 거 와 연 결 된 후에 만 프로그램 을 시작 할 수 있 도록 합 니 다
  • Wait for Debugger: 디 버 거 와 연 결 될 때 까지 선택 한 프로그램의 로드 를 막 습 니 다. 그러면 onCreate () 에서 정지점 을 설정 할 수 있 습 니 다. 이것 은 Activity 의 시작 프로 세 스 를 디 버 깅 하 는 데 매우 중요 합 니 다.이 옵션 을 변경 하면 실행 중인 프로그램의 인 스 턴 스 가 종 료 됩 니 다.위의 옵션 에서 디 버 깅 프로그램 을 선택해 야만 이 옵션 을 선택 할 수 있 습 니 다.코드 에 wait ForDebugger () 를 추가 하여 같은 기능 을 수행 할 수 있 습 니 다.
  • Immediately destroy activities: 시스템 에 activity 가 멈 추 면 이 activity 를 소각 하 라 고 알려 줍 니 다 (예 를 들 어 Android 가 메모 리 를 방출 할 때).이것 은 테스트 코드 onFreeze (Bundle)/onCreate (android. os. Bundle) 에 매우 유용 하 며, 그렇지 않 으 면 비교적 어 려 울 것 이다.프로그램 이 저장 되 어 있 지 않 으 면 이 옵션 을 선택 하면 많은 문제 가 발생 할 수 있 습 니 다.
  • Show screen updates: 다시 그리고 있 는 screen sections 에 분홍색 사각형 이 반 짝 입 니 다.이것 은 불필요 한 screen 그리 기 를 발견 하 는 데 매우 필요 하 다.
  • Show CPU usage: 화면 위 에 CPU 정 보 를 표시 하고 얼마나 많은 CPU 자원 이 사용 되 고 있 는 지 표시 합 니 다.위의 빨간색 줄 은 전체 CPU 사용률 을 표시 합 니 다. 아래 의 녹색 줄 은 CPU 가 copositing the screen 에 사용 되 는 시간 을 표시 합 니 다.메모: 시 뮬 레이 터 를 다시 시작 하지 않 기 전에 이 기능 을 켜 면 닫 을 수 없습니다.
  • Show screen FPS: 현재 프레임 율 을 표시 합 니 다.이것 은 게임 이 도달 한 전체 프레임 율 을 보 는 데 매우 유용 하 다.메모: 시 뮬 레이 터 를 다시 시작 하지 않 기 전에 이 기능 을 켜 면 닫 을 수 없습니다.
  • Show background: activity screens 가 보이 지 않 을 때 배경 모드 를 표시 합 니 다.일반적으로 나타 나 지 않 고 Debug 때 만 나타 납 니 다.

  • 설정 한 옵션 은 시 뮬 레이 터 를 다시 시작 한 후에 도 유효 합 니 다. 설정 을 취소 하려 면 설정 을 취소 한 후에 시 뮬 레이 터 를 다시 시작 해 야 유효 합 니 다.
    중요 한 디 버 깅 팁
    빠 른 스 택 덤 프
    要在模拟器上获得一个堆栈dump,你可以通过adb shell登入,用“ps”找到你想要的进程,然后“kill -3”,
    堆栈跟踪信息就会记录到日志文件中了。
    

    시 뮬 레이 터 화면 에 유용 한 정 보 를 표시 합 니 다.
    设备上可以显示诸如CPU利用率或者对重绘区域的边缘高亮显示等有用信息,在开发设置窗口可以打开或者关闭这些功能。
    

    시 뮬 레이 터 에서 시스템 상태 정보 가 져 오기 (dumpstate)
    你可以通过Dalvik Debug Monitor Service工具来获得dumpstate信息。

    시 뮬 레이 터 에서 프로그램 상태 정보 가 져 오기 (dumpsys)
    你可以通过Dalvik Debug Monitor Service工具来获得dumpsys信息。

    무선 연결 정보 가 져 오기
    你可以通过Dalvik Debug Monitor Service工具来获得无线连接信息。在Device菜单,选择“Dump radio state”
    

    로그 기록 추적 데이터
    你可以在一个activity中通过调用android.os.Debug.startMethodTracing()来用日志来记录方法调用和其他跟踪数据。
    

    로그 기록 라디오 데이터
    默认情况下,radio信息是不会记录在系统中的(因为数据量巨大)。然而,你可以通过下面的命令来开启radio记录
    adb shell
    logcat -b radio
    

    adb 실행
    Andoid中自带了一个叫adb的工具,该工具功能强大,可以移动并同步文件到模拟器,转发端口。在模拟器上运行一个UNIX shell。

    시 뮬 레이 터 에서 화면 캡 처 가 져 오기
    Dalvik Debug Monitor Server (DDMS)可以从模拟器上获取屏幕截图
    

    디 버 깅 도움말 클래스 이용
         Android 는 개발 자의 편 의 를 위해 util. Log 와 Debug 등 도움말 류 를 제공 합 니 다.
    명령 행 실행 방법
    참고:http://www.javaeye.com/topic/201856  http://www.javaeye.com/topic/149227
    셸 에 들 어가 기 
     
    참고: 안 드 로 이 드 매 뉴 얼 www. cnblogs. com/jacktu 만능 G. cn
    인용 하 다.
    C:/Documents and Settings/mawenjian>adb shell
    명령 의 도움 을 봅 시다. 
    인용 하 다.
    # am -help
     
    am -help
     
    Error: Unknown command: -help
     
    usage: am [start|instrument]
     
           am start [-a ] [-d ] [-t ]
     
                    [-c [-c ] ...]
     
                    [-e [-e ...]
     
                    [-n ] [-D] []
     
           am instrument [-e ] [-p ]
     
                    [-w]
    자, 브 라 우 저 를 시작 해 보 세 요. 
    인용 하 다.
    # am start -n com.google.android.browser/com.google.android.browser.BrowserActivity
     
    am start -n com.google.android.browser/com.google.android.browser.BrowserActivity
     
    Starting: Intent { comp={com.google.android.browser/com.google.android.browser.BrowserActivity} }
    오케이, 성 공 했 어. 여러분 다음 명령 을 시험 해 보 세 요. 
    인용 하 다.
    # am start -a android.intent.action.VIEW -d http://mwjian.javaeye.com
     
    am start -a android.intent.action.VIEW -d http://mwjian.javaeye.com
     
    Starting: Intent { action=android.intent.action.VIEW data=http://mwjian.javaeye.com }
     
    # am start -a android.intent.action.CALL -d tel:88888888
     
    am start -a android.intent.action.CALL -d tel:88888888
     
    Starting: Intent { action=android.intent.action.CALL data=tel:88888888 }
     
    # am start -a android.intent.action.ALL_APPS
     
    am start -a android.intent.action.ALL_APPS
     
    Starting: Intent { action=android.intent.action.ALL_APPS }
     
    # am start -a android.intent.action.VIEW geo:0,0?q=shanghai
     
    am start -a android.intent.action.VIEW geo:0,0?q=shanghai
     
    Starting: Intent { action=android.intent.action.VIEW data=geo:0,0?q=shanghai }

    좋은 웹페이지 즐겨찾기