adsense



NDK(주로 cocos2d-x)에서 발생하는 fatal signal error에 관하여

NDK에서 fatal signal로 나타나는 앱 크래시는 디버깅하기가 힘듭니다만, cocos2d-x에서 발생하는 크래시는 대개 11과 8 두 가지가 제일 흔하지 않을까 합니다.

그리고 PC 환경에서는 잘 발생하지 않고, 폰 환경에서도 무작위적이며, 특히 폰을 탄다고 하면 아래 내용을 조사해보면 대체로 해결할 수 있습니다.

1.
fatal signal 11
주 원인 : 포인터가 할당되지 않은 메모리를 참조하였을 경우입니다. 흔하게는 배열의 인덱스로 변수를 사용하여, 이 변수값이 인덱스 범위를 벗어났을 경우입니다. 또는 생성에 실패한 객체 포인터를 참조할 경우에도 발생합니다

2.
fatal signal 8
주 원인 : 십중팔구 divide by zero 에러입니다.

양쪽 모두 공통적으로 잘못된 연산에 의해서도 발생하지만, 폰을 타는 경우는 변수 초기화를 제대로 하지 않았을 가능성이 큽니다.



덧글

댓글 입력 영역


Books

Geek라이프

메가 드라이브 퍼펙트 카탈로그
마에다 히로유키 저/조기현 역

미소녀 일러스트 테크닉
B-은하, pen스케, 카와이 저/정유진 역

핵심강좌! Cocos2d-x
이재환 저

피규어의 교과서 레진 키트 & 도색 입문 편
후지타 시게토시 저/김정규 역
예스24 | 애드온2
일본서적 전문사이트 NEPIC