2014-02-14 1 views
0

자바 스크립트 디버깅 관련 질문 :클라이언트와 서버 간 자바 스크립트를 원활하게 디버그하는 방법은 무엇입니까?

JavaScript 및 HTML로 만들어진 모바일 앱이 있습니다. 이 앱은 웹 컨테이너에서 모바일 플랫폼 (BlackBerry 10, Android, iOS)에서 실행됩니다.

원격 서버에서 실행중인이 응용 프로그램의 다른 부분이 있습니다. 이 부분은 Node.js에서 실행되는 JavaScript에서도 구현됩니다.

클라이언트 (JS on mobile)와 서버 (JS on Node.js) 사이에 몇 가지 통신이 설정되어 있다고 가정합니다. 휴식.

내가 알고 싶은 질문은 원활하게 양면을 동시에 디버깅 할 수 있는지 여부입니다. 예. 모바일 앱 클라이언트 측에 중단 점이있는 경우 서버 측에서 JS 로의 모든 디버깅을 가능하게 할 수 있습니까?

어떤 제안 사항이 도움이 될 것입니다.

+0

Chrome 브라우저에서 앱을 실행할 수 있습니까? 그렇다면 Chrome의 원격 디버깅 기능을 사용하여 중단 점을 설정하고 코드를 단계별로 실행할 수 있습니다. 그것은 아주 잘 작동합니다. –

+0

예, 앱은 크롬 기반 웹 컨테이너 안에 있습니다. 원격 디버깅을 통해 nodej에서 실행되는 서버 코드를 단계별로 실행할 수 있습니까? – user1607549

+0

죄송합니다. node.js에 익숙하지 않지만 같은 도구로 서버 코드를 디버깅 할 수 있습니다. [this post] (http://stackoverflow.com/questions/1911015/how-to-debug-node-js-applications)를 살펴보십시오.또한 Android 4.4 (KitKat)로 시작하는 WebViews도 디버깅 할 수있는 것처럼 보입니다. [here] (https://developers.google.com/chrome-developer-tools/docs/remote-debugging#debugging-webviews) –

답변

0

서버에서 node-inspector를 사용할 수 있습니다. 그러면 두 개의 인스턴스가 있지만 동일한 디버거 도구 세트가 있습니다.

코드 클라이언트를 단계별로 실행하고 서버로 "디버깅"하려면 클라이언트에서 GET/POST를 만들기 전에 서버 디버거에 중단 점을 배치해야합니다.

정보 : 최소 2 개 이상의 모니터 설정을 가져옵니다.

0

노드 검사기를 사용하면 디버깅을 수행하는 좋은 방법이지만 디버거에 로깅을 보완하는 것이 좋습니다.

디버깅을 통해 이벤트 체인을 단계별로 실행하고 변수 값 및 해당 체인의 기능 출력을 검사 할 수 있지만 프로덕션 환경에서는 사용자가 겪고있는 오류로 이어지는 단계 또는 생산 조건에 대한 통찰력을 얻을 수 없습니다 즉 null 변수가있는 이유는 무엇입니까? 내 응답 메시지가 잘못된 이유는 무엇입니까?) 로깅하지 않고 디버깅을 사용하면 오류가 발생하는 프로덕션 환경을 복제하려고 시도하게됩니다. 이는 비효율적 인 (일반적으로 쓸데없는) 방법입니다. 일을하는 것.

당신이하고 싶은 일을 구현하는 가장 좋은 방법은 (클라이언트 & 동시에 발생하는 서버 이벤트를 고려하여 문제를 해결하는 것) 서버와 클라이언트 모두에서 Log4j와 같은 오픈 소스 로깅 라이브러리를 구현하는 것입니다. 로그 장치를 Loggly과 같은 로그 애그리 게이터에 보내도록 appender를 구성하면 두 장치에서 수동으로 로그 파일을 추출하는 대신 클라이언트 & 서버 로그를 모두 동일한 위치에서 분석 할 수있는 도구가 제공됩니다.

이 작업을 완료하면 테스터에게 응용 프로그램을 배포 할 수 있으며 특정 문제를 처리하는 동작, 응용 프로그램 로그 및 하드웨어/네트워크 상태를 확인할 수 있습니다. 이 데이터를 가지고 있으면 특정 버그를 일으키는 원인을 훨씬 잘 알 수 있으며 노드 정보 검사기를 사용하여 훨씬 더 효과적으로 디버그 할 수 있습니다.

관련 문제