비정상 종료로 구현 테스트하기
테스트 예외를 강제로 발생시키는 데 사용할 수 있는 코드를 앱에 추가합니다.
최상위
Zone
에FirebaseCrashlytics.instance.recordError(error, stack, fatal: true)
를 호출하는 오류 핸들러를 추가한 경우 다음 코드를 사용하여 누르면 테스트 예외를 발생시키는 버튼을 앱에 추가할 수 있습니다.TextButton( onPressed: () => throw Exception(), child: const Text("Throw Test Exception"), ),
앱을 빌드하고 실행합니다.
앱의 첫 번째 보고서를 전송하려면 테스트 예외를 강제로 발생시킵니다.
테스트 기기 또는 에뮬레이터에서 앱을 엽니다.
앱에서 위 코드를 사용하여 추가한 테스트 예외 버튼을 누릅니다.
Firebase Console의 Crashlytics 대시보드로 이동하여 테스트 비정상 종료를 확인합니다.
Console을 새로고침하고 5분 후에도 테스트 비정상 종료가 표시되지 않으면 디버그 로깅을 사용 설정해 보세요(다음 섹션).
Crashlytics 디버그 로깅 사용 설정
Crashlytics 대시보드에 테스트 비정상 종료가 표시되지 않는 경우 Crashlytics의 디버그 로깅을 사용하여 문제를 추적할 수 있습니다.
Apple 플랫폼
디버그 로깅을 사용 설정합니다.
Xcode에서 Product(제품) > Scheme(스키마) > Edit scheme(스키마 수정)을 선택합니다.
왼쪽 메뉴에서 Run(실행)을 선택한 다음 Arguments(인수) 탭을 선택합니다.
Arguments Passed on Launch(실행 시 인수 전달) 섹션에
-FIRDebugEnabled
를 추가합니다.
테스트 비정상 종료를 강제로 적용합니다. 이 페이지의 첫 번째 섹션에서 이를 수행하는 방법을 설명합니다.
로그 내에서 다음 문자열을 포함하는 Crashlytics의 로그 메시지를 검색하여 앱이 비정상 종료를 Firebase로 전송하고 있는지 확인합니다.
Completed report submission
5분이 지나도 Firebase Console의 Crashlytics 대시보드에 이 로그 또는 테스트 비정상 종료가 표시되지 않으면 Firebase 지원팀에 문의하여 로그 출력 사본을 보내 주시면 문제 해결에 도움이 됩니다.
Android
Crashlytics의 디버그 로깅을 사용 설정하고 확인합니다.
앱을 실행하기 전에 다음
adb
셸 플래그를DEBUG
로 설정합니다.adb shell setprop log.tag.FirebaseCrashlytics DEBUG
다음 명령어를 실행하여 기기 로그의 로그를 확인합니다.
adb logcat -s FirebaseCrashlytics
테스트 비정상 종료를 강제로 적용합니다. 이 페이지의 첫 번째 섹션에서 이를 수행하는 방법을 설명합니다.
logcat 출력에 다음 메시지나 코드
204
가 있는지 확인합니다. 메시지나 코드를 통해 앱이 Firebase로 비정상 종료를 전송하는지 확인 가능합니다.Crashlytics report upload complete
5분이 지나도 Firebase Console의 Crashlytics 대시보드에 이 로그 또는 테스트 비정상 종료가 표시되지 않으면 Firebase 지원팀에 문의하여 로그 출력 사본을 보내 주시면 문제 해결에 도움이 됩니다.
다음 단계
- 보고 선택 옵션, 로그, 키를 추가하고 심각하지 않은 오류를 추적하여 비정상 종료 보고서 설정을 맞춤설정하세요.