블로그 이미지
ssun++

카테고리

[전체] (73)
Android (7)
JavaScript (9)
CI (5)
Language (14)
ETC (38)
Total324,636
Today1
Yesterday1

Chromium 디버깅

ETC/WebKit / 2011.08.27 20:05
[시작]
크로미움 빌드하겠다고 메모리 추가하고, 64bit 윈도우도 설치 했습니다.
그런데 breakpoint를 걸어도 절대 멈추지 않습니다. 디버깅 해봅시다.

참고 : http://www.chromium.org/developers/how-tos/debugging

[왜 안될까요]
Multi-process Issue
크로미움의 multi-process 구조(아래 그림)때문에 디버깅이 어렵습니다.
Visual Studio에서 디버깅 시 'Browser' 프로세스로 디버깅 하게됩니다.
웹페이지를 렌더링 하는 코드('Renderer')나 플러그인은 별도의 프로세스가 되어 디버깅 되지 않습니다.



Single-process mode
그래서 크로미움을 싱글 프로세스 모드로 구동하는 방법을 소개하고 있습니다
만, 현재는 싱글 프로세스 모드를 지원하지 않습니다.
ps. --single-process 플래그 적용 시 지원되지 않는다고 나오지만 싱글 프로세스로 동작합니다.

[디버깅 해봅시다]
Attaching to the renderer
디버거를 자식 프로세스에 연결하여 디버깅할 수 있습니다.
메뉴에서 '도구 > 프로세스에 연결'을 선택하고 연결할 chrome.exe 프로세스를 선택합니다.
(회색으로 표시된 항목은 이미 연결되어있는 'Browser' 프로세스 입니다.)

 


chrome.exe 프로세스를 전부 연결 시켜버리면 breakpoint에서 잘 멈추네요 :)

[끝]
참고 문서에는 추가적인 내용이 더 있지만 기본적인 내용만 살펴보았습니다.
크로미움 뿐만 아니라 멀티 프로세스로 동작하는 소스에서 활용 가능할 것 같습니다.
Posted by ssun++

댓글을 달아 주세요

최근에 달린 댓글

최근에 받은 트랙백

글 보관함