웹용 프리뷰 URL에서도 재현되는 이슈라면 먼저 편하게 웹으로 디버깅한다. (먼저 Safari에서도 재현되는지 확인 필요)
베타 환경에 배포해서 확인하거나 Charles를 사용해도 되지만 번거롭다면 크롬 개발자도구를 사용해서 Charles처럼 local 파일 mapping이 가능하다.
Overrides 로 수정한 코드는 새로고침해도 사라지지 않으며, 미사용시에는 Enable Local Overrides 체크 해제
Overrides 사용시 캐시가 disabled 되므로 배포해서 최종적으로 확인해 볼 것
개발자도구 > Sources 탭 > Overrides > Select folder for overrides 클릭 후 오버라이딩을 위한 폴더 생성 및 지정 (액세스 요청 알림창 허용)
Network 탭 > 변경하고자 하는 파일 오른쪽 클릭 > Save for overrides 클릭 or Elements 탭 > 원하는 이미지 or 파일 오른쪽 클릭 > Reveal in Sources panel 클릭
1번에서 지정한 경로에 파일이 생성되며 파일을 수정해서 디버깅한다. 노출 화면의 우측 하단에 VConsole 버튼과 Console에서 [Local File Mapping] Test!!!가 추가된 것을 확인 할 수 있다. 이후 크롬에서는 서버에 있는 파일을 바라보지 않고, 로컬 파일을 바라본다.
2. 앱 및 특정 단말
앱에서 발생하는 이벤트로 재현되는 이슈 or 특정 단말에서만 재현되는 이슈라면 앱 디버깅이 필요하다.
1. [OS 공통] 통검 - D 버튼
통검 appshell에서 제공하는 우측 상단 D 버튼으로 console.log, console.warn 확인 가능 (라인 웹뷰 설정시에만 보임)
장점 : 이미 디버깅용으로 개발된 기능이라 console 확인을 위해 추가적인 기능이 필요없음
단점 : 너무 작은 콘솔 영역, 이미 통검 로그가 많아 테스트용 로그와 섞여 분간하기 어려움, console만 확인 가능
2. [OS 공통] Charles
사용중인 네트워크로 들어오는 파일을 원하는 파일로 변경해서 테스트 가능
간단 사용 방법
Proxy > MacOS Proxy 설정 끔 (폰 내의 앱 요청만 보기 위해)
Proxy > Proxy Settings : HTTP Proxy Port를 8888로 설정
폰과 컴퓨터를 동일한 네트워크로 연결
폰의 연결된 네트워크 정보 > HTTP 프록시 > 구성을 수동으로 변경 후 Help > Local IP Address를 입력, 포트번호는 8888로 입력
디버깅 가이드
가이드는 Mac OS 기준으로 작성되었습니다.
라인 앱
디버깅 방법
이슈 종류 및 발생 환경에 따라 디버깅 방법을 달리 할 수 있다.
1. 웹 프리뷰 URL
크롬 개발자도구
를 사용해서 Charles처럼 local 파일 mapping이 가능하다.Overrides
로 수정한 코드는 새로고침해도 사라지지 않으며, 미사용시에는Enable Local Overrides
체크 해제Overrides
사용시 캐시가 disabled 되므로 배포해서 최종적으로 확인해 볼 것개발자도구 > Sources 탭 > Overrides > Select folder for overrides 클릭 후 오버라이딩을 위한 폴더 생성 및 지정 (액세스 요청 알림창 허용)
Network 탭 > 변경하고자 하는 파일 오른쪽 클릭 > Save for overrides 클릭
or Elements 탭 > 원하는 이미지 or 파일 오른쪽 클릭 > Reveal in Sources panel 클릭
1번에서 지정한 경로에 파일이 생성되며 파일을 수정해서 디버깅한다. 노출 화면의 우측 하단에 VConsole 버튼과 Console에서
[Local File Mapping] Test!!!
가 추가된 것을 확인 할 수 있다.이후 크롬에서는 서버에 있는 파일을 바라보지 않고, 로컬 파일을 바라본다.
2. 앱 및 특정 단말
1. [OS 공통] 통검 - D 버튼
D
버튼으로console.log
,console.warn
확인 가능 (라인 웹뷰 설정시에만 보임)장점
: 이미 디버깅용으로 개발된 기능이라 console 확인을 위해 추가적인 기능이 필요없음단점
: 너무 작은 콘솔 영역, 이미 통검 로그가 많아 테스트용 로그와 섞여 분간하기 어려움, console만 확인 가능2. [OS 공통] Charles
장점
: 배포하지 않고도 편리하게 테스트 가능단점
: 과정이 번거롭기도 하고, mapping이 느려서 테스트하는데 시간이 소요됨, console은 화면에 html로 그리는식으로 확인 가능3. [Android] Chrome Webviews 디버깅
4. [iOS] simulator에 앱 설치 후 웹뷰 디버깅
5. [OS 공통] vConsole
템플릿에서 vconsole 사용 스크립트를 배포해서 확인할 수는 없으므로 Charles로 로컬 파일 치환하여 확인
Log
: 기존에는 화면에 html로 노출해서 확인했던 로그들을 별도 화면으로 확인 가능, 적재된 로그들은 filter하여 원하는 결과만 모아서 확인 가능, 간단한 스크립트 실행도 가능Network
: 간단하게 요청 정보 확인 가능, request시 전달한 data와 response 정보들을 표시해줌Element
: 개발자도구에서 사용하던 Element 탭처럼 DOM 트리 구성 확인 가능Storage
: 웹앱에서 사용중인 cookie, local or session 스토리지 정보 확인 가능