애플리케이션 디버깅
Electron 애플리케이션이 예상대로 동작하지 않을 때, 다양한 디버깅 도구를 활용해 코딩 오류, 성능 병목 현상, 최적화 기회를 찾을 수 있다.
렌더러 프로세스
개별 렌더러 프로세스를 디버깅하기 위한 가장 포괄적인 도구는 Chromium 개발자 도구 세트이다. 이 도구는 BrowserWindow
, BrowserView
, WebView
인스턴스를 포함한 모든 렌더러 프로세스에서 사용할 수 있다. 인스턴스의 webContents
에서 openDevTools()
API를 호출해 프로그래밍 방식으로 열 수 있다.
const { BrowserWindow } = require('electron')
const win = new BrowserWindow()
win.webContents.openDevTools()
Google은 개발자 도구에 대한 훌륭한 문서를 제공한다. 이 도구는 일반적으로 Electron 개발자에게 가장 강력한 유틸리티 중 하나이므로, 반드시 익숙해지는 것을 권장한다.
메인 프로세스 디버깅
메인 프로세스 디버깅은 개발자 도구를 열 수 없기 때문에 조금 더 까다롭다. Google/Chrome과 Node.js의 긴밀한 협력 덕분에 Chromium 개발자 도구를 사용해 Electron의 메인 프로세스를 디버깅할 수 있지만, 콘솔에서 require
가 제대로 동작하지 않는 등의 문제가 발생할 수 있다.
더 자세한 내용은 메인 프로세스 디버깅 문서를 참고한다.
V8 크래시 발생 시
V8 컨텍스트가 크래시되면, DevTools는 다음과 같은 메시지를 표시한다.
DevTools가 페이지와 연결이 끊겼습니다. 페이지를 다시 로드하면 DevTools가 자동으로 재연결됩니다.
Chromium 로그는 ELECTRON_ENABLE_LOGGING
환경 변수를 통해 활성화할 수 있다. 자세한 내용은 환경 변수 문서를 참고한다.
또는 커맨드라인 인자로 --enable-logging
을 전달할 수도 있다. 더 많은 정보는 커맨드라인 스위치 문서에서 확인할 수 있다.