본문 바로가기
반응형

디버깅4

[Jenkins] iOS 크래쉬 로그 심볼릭(Symbolicate) 젠킨스 빌드로 만든 ipa파일을 adhoc 인증서로 기기에 설치했다. 앱이 크래쉬 돼서 Xcode에 연결해봤는데 게임 코드 부분이 심볼릭이 되지 않고 알 수 없는 주소 값만 표시됐다. 프로젝트 코드를 공개할 수 없어서 구글링으로 찾은 이미지로 대체한다. 대충 느낌만 보시길.. 직접 Xcode를 이용해서 빌드했다면 Xcode가 자동으로 해당 ipa 파일과 짝을 이루는 dSYM 파일을 찾아서 게임 코드로 변환시켜 준다. 젠킨스 빌드 시에는 조금 번거로운 과정을 거쳐야 한다. 먼저 빌드를 하기 전에 준비 작업이 필요하다. 해당 프로젝트의 빌드 셋팅에 다음과 같이 dSYM 파일을 zip 파일로 압축하고 저장하는 쉘 스크립트를 추가한다. /usr/bin/zip -r build/${ARCHIVE_NAME}.dSYM.. 2019. 9. 6.
[Unity][DOTS] Entity Debugger 사용 방법 ECS를 사용하면 유니티 에디터의 Game View나 Hierarchy 창에서 Entity를 볼 수 없다. 기존에 유니티 에디터에서 GameObject를 만들고 눈으로 정보를 확인하면서 작업하던 사람에게는 너무나 당황스러운 상황이다. 100% 만족스럽지는 않지만 Entity Debugger 창에서 Entity를 볼 수 있다. 유니티 에디터의 Window 메뉴에서 Entity Debugger를 찾아서 열면 다음 그림과 같은 화면이 뜬다. 참고로 유니티에서 제공한 Boid 샘플 프로젝트를 사용했다. 왼쪽의 System 탭은 게임에서 실행 중인 모든 System 리스트를 보여준다. 리스트는 알파벳 순 정렬이 아닌 Player Loop 순 정렬이라고 한다. 각 System은 on/off 체크박스로 껐다 켰다 하.. 2019. 3. 27.
[Cocos2d-x] 안드로이드 디버깅 #3 - 크래쉬 덤프 그리고 PATH 에 ‘arm-linux-androideabi-addr2line’ 툴이 있는 디렉토리를 다음과 같이 추가한다. export PATH=${PATH}:$NDK_ROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin 여기서 ‘$NDK_ROOT’ 는 NDK가 설치된 디렉토리를 의미한다. 각자 환경에 맞게 절대 경로를 넣는다. 설정을 마쳤으면 현재 프로젝트의 /proj.android 디렉토리로 이동한 뒤 아래와 같이 Addr2line를 실행한다. libXXX.so 는 게임 소스 라이브러리를 의미하며 기본으로 설정된 이름을 수정하지 않았다면 libgame.so 다. 는 앱이 크래쉬됐을 때 이클립스 LogCat에 출력되는 주소 값이다. 아.. 2013. 2. 14.
[Cocos2d-x] 안드로이드 디버깅 #2 - 브레이크 포인트(break point) NDK플러그인 설치 NDK 설치 경로 설정 Add native support C/C++ 코드에 브레이크 포인트 설정 두번째로 살펴볼 플러그인은 그래픽 처리 장치로 유명한 Nvidia사에서 만든 NVIDIA Debug Manager 플러그인이다. 해당 플러그인은 Nvidia 개발자 사이트의 Tegra Resources 페이지에서 다운로드 받을 수 있다. 페이지 주소는 다음과 같다. Tegra Resources: https://developer.nvidia.com/tegra-resources#tools 단, 파일을 다운로드 받기 위해서는 Nvidia 계정을 생성하고 Tegra Registered Developer Program 에 가입해야 한다. 모두 무료다. 해당 페이지에서 Tegra Android Dev.. 2013. 2. 13.
반응형