Skip to main content

XCode로 디버깅하기

Xcode로 디버깅하기

디버깅 소스를 위한 Xcode 프로젝트 생성하기 (Xcode에서 코드를 빌드할 수는 없음)

gn gen 명령어에 --ide=xcode 인자를 추가해 실행한다.

$ gn gen out/Testing --ide=xcode

이 명령어는 electron.ninja.xcworkspace 파일을 생성한다. 이 워크스페이스를 열어 브레이크포인트를 설정하고 코드를 살펴볼 수 있다.

GN을 사용해 IDE 프로젝트를 생성하는 방법에 대한 자세한 정보는 gn help gen을 참고한다.

디버깅과 브레이크포인트

빌드가 완료된 후 Electron 앱을 실행한다. 위에서 생성한 Xcode 워크스페이스를 열고, Debug > Attach To Process > Electron 디버그 메뉴를 통해 Electron 프로세스에 연결할 수 있다. [참고: 렌더러 프로세스를 디버깅하려면 Electron Helper에도 연결해야 한다.]

이제 인덱싱된 파일들 어디에나 브레이크포인트를 설정할 수 있다. 하지만 Chromium 소스 코드에는 직접 브레이크포인트를 설정할 수 없다. Chromium 소스 코드에 브레이크포인트를 설정하려면 Debug > Breakpoints > Create Symbolic Breakpoint를 선택하고, 함수 이름을 심볼로 지정한다. 이렇게 하면 해당 이름을 가진 모든 함수에 브레이크포인트가 설정된다. 동일한 이름의 함수가 여러 클래스에 존재할 경우, 모든 클래스의 해당 함수에 브레이크포인트가 설정된다.

디버거를 연결하기 전에 이 단계를 수행할 수도 있지만, 실제로 심볼릭 브레이크포인트 함수의 브레이크포인트는 디버거가 앱에 연결될 때까지 표시되지 않을 수 있다.