2016-12-02 3 views
2

Android Studio의 logcatLog.v/.d 또는 처리되지 않은 런타임 예외 (예 : nullpointer) 이후에 생성 된 출력을 표시하지 않으며 앱이 충돌 할 때 추가 정보가 표시되지 않습니다. Log.i/.w/.wtf/.e 메시지가 표시되는 경우가 있습니다. 또한 selfgenerated Android 클래스의 메시지 (때때로!) 및 Android 시스템 출력 (일반적으로 항상 logcat에 표시됨)이 표시됩니다.logcat에 디버깅 메시지가 표시되지 않습니다.

logcat 필터 설정은 "자세한 정보"및 "필터 없음"또는 "선택한 응용 프로그램 만 표시"(둘 다 내 문제를 해결하지 않음)입니다. 검색 마스크에 아무 것도 입력하지 않았습니다. 재시작해도 문제가 해결되지 않았습니다.

Android 5.1/6 및 여러 프로젝트/앱으로 다른 스마트 폰과 에뮬레이터를 사용해 보았습니다.

예제 코드 (디버그보다 단지 더 중요한 메시지가 표시됩니다) :

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main2); 
    Log.v(TAG, "verbose test"); 
    Log.d(TAG, "debug test"); 
    Log.i(TAG, "info test"); 
    Log.w(TAG, "warn test"); 
    Log.wtf(TAG, "what a terrible failure test"); 
    Log.e(TAG, "error test"); 
} 

편집 : 위의 코드에 대한 로그 캣 출력 (과 "상세"& "쇼 선택된 applictaion"필터 옵션) :

12-02 22:01:13.531 14717-14717/? I/art: Late-enabling -Xcheck:jni 

12-02 22:01:13.593 14717-14730/de.kinoblub.testapp E/HAL: load: id=gralloc != hmi->id=gralloc 

12-02 22:01:13.621 14717-14717/de.kinoblub.testapp W/System: ClassLoader referenced unknown path: /data/app/de.kinoblub.testapp-1/lib/arm64 

12-02 22:01:13.624 14717-14717/de.kinoblub.testapp I/InstantRun: Instant Run Runtime started. Android package is de.kinoblub.testapp, real application class is null. 

12-02 22:01:13.717 14717-14717/de.kinoblub.testapp W/System: ClassLoader referenced unknown path: /data/app/de.kinoblub.testapp-1/lib/arm64 

12-02 22:01:13.837 14717-14717/de.kinoblub.testapp I/HwCust: Constructor found for class android.app.HwCustHwWallpaperManagerImpl 

12-02 22:01:13.883 14717-14717/de.kinoblub.testapp W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable 

12-02 22:01:14.031 14717-14717/de.kinoblub.testapp I/de.kinoblub.testapp.Main2Activity: info test 

12-02 22:01:14.031 14717-14717/de.kinoblub.testapp W/de.kinoblub.testapp.Main2Activity: warn test 

12-02 22:01:14.031 14717-14717/de.kinoblub.testapp E/de.kinoblub.testapp.Main2Activity: what a terrible failure test 

12-02 22:01:14.044 14717-14717/de.kinoblub.testapp E/de.kinoblub.testapp.Main2Activity: error test 

12-02 22:01:14.067 14717-14717/de.kinoblub.testapp I/HwSecImmHelper: mSecurityInputMethodService is null 

12-02 22:01:14.167 14717-14747/de.kinoblub.testapp E/HAL: load: id=gralloc != hmi->id=gralloc 

12-02 22:01:14.167 14717-14747/de.kinoblub.testapp I/OpenGLRenderer: Initialized EGL, version 1.4 

12-02 22:01:14.235 14717-14717/de.kinoblub.testapp I/HwSecImmHelper: mSecurityInputMethodService is null 

답변

0

일반적인 문제입니다. 올바른 장치를 연결했는지 확인하고, 올바른 프로세스를 디버깅하고, 필터 모음을 지우십시오.

+0

아무 것도 도움 안됨 : ( – False

0

에뮬레이터 또는 다른 장치에서 응용 프로그램을 디버깅하는 경우에도 동일한 문제가 발생합니까? 그렇지 않은 경우 장치의 로깅 출력 레벨을 변경해야 할 수 있습니다. Android Studio에서 앱을 실제로 디버깅하는 동안 어떻게 든 낮추지 만 충돌이 발생하면 기본 휴대 전화의 수준으로 재설정됩니다.

또 다른 해결 방법은 log4j 기반 로거 (예 : logback)를 사용하고 원하는 수준으로 파일을 기록하도록 설정하는 것입니다. Thread.UncaughtExceptionHandler을 잡아서 앱이 다운되면 이메일을 보내거나 서버에 로그를 보낼 수도 있습니다 (다음 앱 시작시).

2

이것은 매우 자주 발생합니다. logcat 필터 설정을 "자세한 정보 표시"로 변경하고 "선택한 응용 프로그램 만 표시"하면됩니다.이 기능은 저에게 효과적입니다.

+0

"Verbose"가 선택되어 있고 "선택한 응용 프로그램 만 표시"도 ​​작동하지 않습니다. – False

+0

캐시를 무효화하고 다시 시작한 다음 logcat 설정을 "자세한 정보"및 "선택한 응용 프로그램 만 표시"로 설정하십시오. – Samurai21

+0

완료하지 않았습니다. ( – False

관련 문제