NRE 원격 디버깅
NRE 실행 시 크롬, Edge 브라우저의 Devices inspect 기능을 사용해 실행 중인 앱 디버깅을 할 수 있습니다. 윈도우, macOS 운영체제를 지원합니다.
개발한 스크립트와 자바스크립트 라이브러리까지 디버깅을 할 수 있습니다. DeviceAdaptors로 설치한 모듈이나 엔진 내부 코드 디버깅은 지원하지 않습니다.
안드로이드 운영체제 NRE는 WebView 디버깅 기능을 사용합니다. 아래 문서를 참고해주세요.
https://developer.android.com/reference/android/webkit/WebView#setWebContentsDebuggingEnabled(boolean)
프로젝트 설정
Environment의 enableinspector 속성값을 true로 변경합니다.
실행 설정
윈도우
nexacro.exe 실행 옵션으로 -RPP 옵션을 아래와 같이 추가하고 실행합니다.
nexacro.exe -K "INSPECTOR_TEST" -S "http://localhost:8080/start.json" -RPP 127.0.0.1:9223 nexacro.exe -K "INSPECTOR_TEST" -S "http://localhost:8080/start.json" -RPP 9223
RPP 옵션 설정 시 PORT만 설정한 경우에는 localhost 로 동작합니다.
macOS
터미널에서 실행 시 -RPP 옵션을 아래와 같이 추가하고 실행합니다.
open nexaApp.app --args -K INSPECTOR_TEST -S http://localhost:8080/start_macos.json -RPP "127.0.0.1:9223" open nexaApp.app --args -K INSPECTOR_TEST -S http://localhost:8080/start_macos.json -RPP "9223"
RPP 옵션 설정 시 PORT만 설정한 경우에는 localhost 로 동작합니다.
Devices inspect 기능 실행
1
크롬 브라우저를 실행하고 주소창에 "chrome://inspect" 을 입력합니다.
chrome://inspect
2
Configure 버튼을 클릭하고 Target discovery settings 창을 띄웁니다.
Discover network targets 항목이 체크되어 있지 않다면 해당 항목을 체크해줍니다.
3
Target discovery settings 창에 앞에서 설정한 RPP 주소값을 추가합니다.
4
앱을 실행하면 Remote Target 항목에 실행된 앱 key 값이 표시됩니다.
5
Target 항목 아래에 있는 inspect 링크를 클릭하면 콘솔창으로 이동하며 trace 메소드 실행 결과나 오류 발생 시 메시지를 확인할 수 있습니다.
6
open dedicated devtools for node 링크를 클릭하면 서버 리소스를 탐색할 수 있는 창을 띄울 수 있습니다.
[Sourcs > Node] 탭에서 원하는 파일을 선택하고 중단점을 추가하거나 추가적인 디버깅 작업을 수행할 수 있습니다.
Remote Target 항목에 앱이 보이지 않을때
앱 실행 후 20초 이상 앱이 표시되지 않는다면 아래와 같이 조치합니다.
1
브라우저 종료 후 다시 접속합니다.
2
앱에서 inspect 기능이 정상 실행되고 있는지 확인합니다.
앱 실행 후 브라우저에서 아래 URL로 접속하면 정보가 표시되어야 합니다. 응답이 없다면 프로젝트 설정에 문제가 있거나 다른 문제가 있을 수 있습니다.
[Target discovery settings RPP Address]/json/list http://127.0.0.1:9223/json/list
로딩 중 멈춤 기능 옵션 설정
NRE 원격 디버깅은 실행중인 앱을 접속해서 디버깅을 실행하기 때문에 로딩 중 발생하는 오류나 현상을 디버깅할 수 없습니다. 아래와 같이 추가적인 옵션을 통해 로딩 시점에 강제적으로 멈추는 설정을 추가할 수 있습니다.
로딩 중 멈춤 기능은 테마 파일(theme.map.js) 수신 완료 시점에서 멈춘 상태로 Devices inspect 연결을 기다립니다. 프로젝트 로딩 방식이나 네트워크 상태에 따라 해당 시점에 일부 파일을 내려받지 않은 상태일 수 있으며 내려받지 않은 파일은 디버깅을 처리할 수 없습니다.
윈도우, macOS
nexacro.exe 실행 옵션으로 -brk "true" 옵션을 아래와 같이 추가하고 실행합니다.
nexacro.exe -K "INSPECTOR_TEST" -S "http://localhost:8080/start.json" -RPP 127.0.0.1:9223 -brk "true" nexacro.exe -K "INSPECTOR_TEST" -S "http://localhost:8080/start.json" -RPP 9223 -brk "true"
macOS
터미널에서 실행 시 -brk "true" 옵션을 아래와 같이 추가하고 실행합니다.
open nexaApp.app --args -K INSPECTOR_TEST -S http://localhost:8080/start_macos.json -RPP "127.0.0.1:9223" -brk "true" open nexaApp.app --args -K INSPECTOR_TEST -S http://localhost:8080/start_macos.json -RPP "9223" -brk "true"