NDK 개발 시 앱이 종료되면서 위와같은 에러가 출력 될 때가 있다.

이때는 함수까지만 확인이 가능하고 정확한 라인을 알 수 없으므로 오류가 나는 라인을 알아 볼 수 있는 방법을 알아본다.


1. cygwin을 사용해서 cygwin이 설치 된 폴더에 bin으로 들어간다.


2. bin폴더에 오류가 발생한 라이브러리를 붙여넣기 한다. (lib라이브러리.so)


3. addr2line.exe -f -e 라이브러리명.so 00041f40

 위와 같은 형식의 명령어를 입력한다.

 00041f40은 위 이미지에 #06 pc 우측에 있는 16진수이다. 16진수를 입력하면 해당 함수의 몇번째 라인에서 오류가 났는지 출력 된다.


명령어 입력시 아래와같이 출력된다.


getJClass

C:/Develop/Android/workspace/프로젝트명/jni/jni-ndk.c:32


해당 프로젝트 jni-ndk.c 소스의 32번 라인에서 오류가 발생한걸 확인 할 수 있다.



+ Recent posts