Crash정보 집계
Unity3D
개요
액세스 내비게이션
보고서 데이터 확인
추가 작업 로그 첨부 보고
추가 2진법 데이터 첨부 보고
출력 로그 보고
Lua/C#/JS스크립트 오류 보고
자주 묻는 질문
Android
개요
액세스 내비게이션
보고서 데이터 확인
추가 작업 로그 첨부 보고
추가 2진법 데이터 첨부 보고
출력 로그 보고
Lua/C#/JS스크립트 오류 보고
자주 묻는 질문
IOS
개요
액세스 내비게이션
보고서 데이터 확인
추가 작업 로그 첨부 보고
추가 2진법 데이터 첨부 보고
출력 로그 보고
Lua/C#/JS스크립트 오류 보고
자주 묻는 질문
기타
데이터 구조
시스템 도구
Crash정보 집계 / Android / 개요

개요

MSDK에서 Bugly의 데이터 보고를 통합하는 기능으로, 클라이언트 crash 시 클라이언트의 정보를 서버에 업로드하고 개발자와 함께 확인합니다. 개발자로 하여금, 애플리케이션이 온라인 상에 있을 때의 치명적인 bug를 발견할 수 있게 해 줍니다.

아래 그림은 온라인 애플리케이션 crash 후에, Bugly 플랫폼을 통해 확인하는 클라이언트 정보(주의: 애플리케이션 crash 시 캡처 화면 보고하지 않음)입니다.


a) 아래 그림의 “오류 스레드”, “모든 스레드”, “시스템 로그” 표시와 같은 crash 진행의 스택 정보를 보고합니다.


b) 현재 휴대전화기의 기본 정보를 보고합니다. : 기기 명칭(제조업체, 모델), 시스템 버전, 디스크 이용 가능 공간, SD카드 이용 가능 공간, 메모리 이용 가능 공간 등.


c) 아래 그림의 “사용자 이름”으로 표시된 사용자의 openid를 보고합니다.


d) 사용자가 아래 그림의 “더 많은 정보”에 표시된 보고 정보를 정의합니다.

귀하께서는 애플리케이션의 crash 시 보고하는 문자열을 정의할 수 있으며, 그 예시도는 아래와 같습니다.

또한 crash 시 2진법 데이터를 보고할 수 있으며, 2진법 데이터는 현재 rdm 플랫폼 -> 이상 보고 모듈 아래에서 구체적인 crash 이벤트를 찾을 수 있으며, 2진법 데이터 파일도 다운로드할 수 있습니다.

소량의 정의된 log를 애플리케이션 crash 시에 Bulgy 플랫폼에 보고할 수 있으며, 추가 데이터 -> 자체 정의 로그에서 확인하실 수 있습니다.

액세스 내비게이션

1 사전 요구 사항


1) 초기화 모듈 설명에 따라 초기화


2) bugly 보고를 열고 닫는 스위치는 /assets/msdkconfig.ini 내에 설정해야 합니다.

bugly 보고서 스위치를 끄고, 기본값은 반드시 그것을 false로 설정해야 합니다. true로 설정하면 crash 보고 기능이 꺼집니다.
CLOSE_BUGLY_REPORT=false


3) 약정에 따른 혼합

jar 패키지를 혼합할 필요가 없을 경우, 이 단계를 무시하십시오. jar 패키지를 혼합해야 할 경우, msdk*.jar 파일을 혼합하지 마십시오. 또는, msdk*.jar 파일을 혼합할 때 아래
의 keep 정보를 App의 혼합 설정 내에 추가하십시오.

-keep class * extends android.app.Activity{*;}
-keep class * extends android.app.Service{*;}
#Bugly 인터페이스
-keep public class com.tencent.bugly.crashreport.crash.jni.NativeCrashHandler{public *; native <methods>;}
-keep public interface com.tencent.bugly.crashreport.crash.jni.NativeExceptionHandler{*;}


4) App 환원 기호표 설정 Bulgy 플랫폼 설정으로 가서 환원 기호표를 설정하십시오. 주소는 http://bugly.qq.com/이며, [자주 있는 문제 중에 설명된 방식)#bugly_symbol)을 참조해 설정할 수 있습니다.

상기 4개 단계를 완료한 후에, 온라인 애플리케이션 crash 시의 스택 정보를 확인할 수 있습니다.

2 crash 보고 기능 사용

crash 보고 기능은 애플리케이션 crash 시에 문자열을 보고할 수 있으며, 2진법 정보를 서버에서 귀하를 위해 분석합니다. 상세 정보는 [별도 작업 로그 추가 보고)#Android_ExtMessageNotify), [별도 2진법 데이터 추가 보고)#Android_ExtByteNotify), [출력 로그 보고##Android_PrintLog)를 참조하십시오.

보고서 데이터 확인

파트너 계정을 이용해 bugly.qq.com 웹사이트에 로그인한 후 귀하의 확인하려는 앱을 선택하십시오. 아래 그림과 같이, bugly 보고 데이터가 표시됩니다. 파트너 계정을 모르는 경우, 페이잉 비서 또는 MSDK 접속 상태를 확인하십시오.

추가 작업 로그 첨부 보고

1 개요 설명

프로그램 Crash 시에는, 경우에 따라 일련의 별도의 자체 정의 데이터를 추가해야 할 수 있습니다.

2 콜백

1) 기능 설명

프로그램 Crash 시에는, 일련의 별도의 자체 정의 데이터를 추가해야 될 수 있으며, crash 로그에 따라 Bugly 플랫폼에 보고할 수 있습니다. 이렇게 함으로써 crash가 발생한 원인을 더욱 잘 규명할 수 있습니다. 개요 상의 3.1 별도 문자열 표시 업로드에서, 보고하는 데이터는 Bugly 플랫폼 상의 “자체 정의 로그” -> “별도의 데이터” 내에서 찾을 수 있습니다.

2) 인터페이스 선언
public static void WGSetObserver(WGPlatformObserver observer);
3) 파라미터 설명
파라미터 명칭 유형 설명
observer WGPlatformObserver 유형 MSDK 콜백 유형은 예시 코드를 참조하십시오.
4) 반환값

없음

5) 예시 코드
WGPlatform.WGSetObserver(new WGPlatformObserver() {

    @Override
    public String OnCrashExtMessageNotify() {
         // 그 밖에도 게임에서 crash 보충 시에 보고하는 추가 정보는, crash 생성 원인 분석에 도움이 됨

        String str="test extra crash upload!";

        return str;
    }

});
6) 특수 설명

native 보고 진행 시에 해당 콜백은 무효가 될 수 있습니다.

7) 용어 해석

없음

3 인터페이스 호출

없음

추가 2진법 데이터 첨부 보고

1 개요 설명

프로그램 Crash 시에는, 경우에 따라 일련의 별도의 2진법 데이터를 추가해야 할 수 있습니다.

2 콜백

1) 기능 설명

프로그램 Crash 시에는, 일련의 별도의 2진법 데이터를 추가해야 될 수 있으며, crash 로그에 따라 Bugly 플랫폼에 보고할 수 있습니다. 이렇게 함으로써 crash가 발생한 원인을 더욱 잘 규명할 수 있습니다. 마지막으로 rdm 플랫폼 상에서 오류 상세 정보를 확인할 수 있으며, 그중 별도의 업무 로그는 userExtraByteData 안에 저장됩니다. bugly는 현재 userExtraByteData 검색 기능을 공개하지 않고 있으며, 현재 개발 중에 있습니다. 비교적 오래된 버전의 rdm 웹사이트(http://rdm.oa.com/) 상에서 표시할 수 있습니다. 개요의 3.2 별도의 2진법 데이터 업로드 그림의 경우, 보고한 데이터는 현재 rdm 플랫폼 -> 이상 보고 모듈 아래에서 구체적인 crash 이벤트를 찾을 수 있으며, 2진법 데이터 파일도 다운로드할 수 있습니다.

2) 인터페이스 선언
public static void WGSetObserver(WGPlatformObserver observer);
3) 파라미터 설명
파라미터 명칭 유형 설명
observer WGPlatformObserver 유형 MSDK 콜백 유형은 예시 코드를 참조하십시오.
4) 반환값

없음

5) 예시 코드
WGPlatform.WGSetObserver(new WGPlatformObserver() {

    @Override
    public byte[] OnCrashExtDataNotify() {      
        return "OnCrashExtDataNotify test crash java".getBytes();
    }   
});
6) 특수 설명

native에서 보고할 경우, 해당 콜백은 무효가 될 수 있습니다.

7) 용어 해석

없음

3 인터페이스 호출

없음

출력 로그 보고

1 개요 설명

출력 로그 보고

2 콜백

없음

3 인터페이스 호출

1) 기능 설명

임의의 native crash 환경에서, bugly의 OnCrashReportDataEvent 및 CrashReportDataEvent에 대한 이벤트 콜백 함수 등록은 실행할 수 없을 수도 있으며, 귀하께서 자체 정의한 로그의 인터페이스를 사용할 것을 권장합니다. 해당 인터페이스는 일련의 개발자 관심 테스트 로그에 사용될 수 있으며, 더욱 적극적으로 App의 이상 시 전후 환경에 대응할 수 있습니다. 사용 방식은 android.util.Log와 같습니다. 사용자가 전송 입력한 TAG 및 로그 내용. 해당 로그는 Logcat에서 출력되며, 이상 발생 시에 보고하고 로그 보고서의 최대 용량은 30KB입니다.

bugly 페이지의 “상세 정보” -> "자체 정의 로그"에서 자체 정의 로그를 확인할 수 있습니다.

2) 인터페이스 선언
void WGBuglyLog (eBuglyLogLevel level, String log);
3) 파라미터 설명
파라미터 명칭 파라미터 유형 설명
level enum 상세 정보는 구조체 설명 내 eBuglyLogLevel 부분을 참조하십시오.
log String 업로드(인쇄)할 내용
4) 반환값

없음

5) 예시 코드
WGPlatform.WGBuglyLog(level.val(), "bugly message test");
6) 특수 설명

사용자가 전송 입력한 TAG 및 로그 내용. 해당 로그는 Logcat에서 출력되며, 이상 발생 시에 보고하고 로그 보고서의 최대 용량은 30KB입니다.

7) 명칭 해석

없음

Lua/C#/JS스크립트 오류 보고

1 설명

게임 Lua/C#/JS스크립트에 오류 발생 시, bugly에 해당 오류 정보 보고 가능.

2 콜백

1) 기능 설명

스크립트 오류 내용을bugly에 보고할 시, bugly에서 “오류 분석” ->"Lua스크립트 오류/C#스크립트 오류/JS스크립트 오류" 에서 해당 보고를 열람 가능

2) 인터페이스 선언
void WGReportException(eExceptionType exception_type,
                           unsigned char *exception_name,
                           unsigned char *exception_msg,
                           unsigned char *exception_stack,
                           std::vector &ext_info)
3) 파라미터 설명
파라미터 명칭 유형 설명
exception_type eExceptionType열거 유형 오류 보고 유형
exception_name unsigned char * 오류 명칭
exception_msg unsigned char * 오류정보
exception_stack unsigned char * 오류 창고
ext_info vector 사건 내용, 1개key-value 형식의 vector;key 최대 길이 64,value최대 길이1024, key 최대 개수 50, key는 "B1","B2"의 규칙으로 명칭 설정 건의
4) 반환값

없음

5) 예시 코드
std::vectorextInfo;
KVPair item;
item.key = "extInfo_Body";
item.value = std::string("wegame_extInfo_body");
eveList.push_back(item);
WGPlatform::GetInstance()->WGReportException((eExceptionType) exceptionType,
        									"MSDK_excetipon_name",
									        "MSDK_exception_msg",
									        "MSDK_exception_stack_test",
									    	extInfo);
6) 특수 설명

없음

7) 명칭 해석

없음

자주 묻는 질문