블로그 이미지
ssun++

카테고리

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

'크로미움'에 해당되는 글 2건

  1. 2011.08.27 Chromium 디버깅
  2. 2011.08.15 Chromium 빌드하기

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++

댓글을 달아 주세요

Chromium 빌드하기

ETC/WebKit / 2011.08.15 01:08
[시작]
그냥 '웹킷도 해봤으니까'라는 이유에서.
환경 구성은 큰 문제가 아니지만 고사양의 머신을 필요로 합니다.
(메모리 3.25GB에서 메모리 부족 메세지를 쭉쭉 뿌립니다)

참고 : Build Instructions (Windows)

[빌드하기]
Visual Studio 2008로 빌드해보았습니다. (Express, 2008, 2010 지원)

[Step 1] Visual Studio 2008
1. VS2008 SP1을 설치합니다.
2. 업데이트를 설치합니다.(KB967631, KB960075, and KB957912)
3. Windows 7.1 SDK를 설치합니다.
4. SDK와 Visual Studio 통합
Microsoft Windows SDK v7.1 > Visual Studio Registration > Windows SDK Configuration Tool 실행
Instruction에는 추가 설명이 없는데 SDK와 VS가 여러개 깔려있어서 그런지 아래와 같은 창이 떴습니다.

[Step 2] DirectX SDK 설치
1. June 2010 버전을 설치합니다.
웹킷 빌드해보신 분들은 February 2010 버전이 설치되어있더라도 설치해야 합니다.
2. VC++ 디렉토리 수정 (도구 > 옵션)
'포함 파일'에는 $(DXSDK_DIR)include 추가 (맨위로)

'라이브러리 파일'에는 $(DXSDK_DIR)lib\x86 추가


[Step 3] depot_tools 설치하기
소스를 checkout 하기 위한 스크립트 모음입니다.

[Step 4] 소스 받기 
압축파일 or svn(depot_tools 사용)으로 받을 수 있습니다.
(일반 svn 클라이언트로 checkout 시 솔루션/프로젝트 파일 생성되지 않습니다.)

[Step 5] 빌드하기
chrome/chrome.sln을 open 해서 빌드합니다.
링크시 ilk 파일 크기 관련 에러 발생하는 경우는 해당 프로젝트만 따로 빌드해서 성공했습니다.
메모리 부족 에러 발생하는 경우는 답이 없네요.

[Step 6] 실행
'chrome' 프로젝트를 시작 프로젝트로 해서 실행할 수 있습니다.
(어쨌든 실행되는 걸 보면 빌드 실패한 프로젝트가 꼭 필요한 건 아닌 것 같습니다.)

[마침]
크로미움 빌드를 꼭 하고야 말겠다는 경우,
우선은 반드시 필요한 프로젝트를 추려내야 할 것 같고.
무엇보다 PC 업그레이드가 선행되어야 할 것 같습니다 :D 
Posted by ssun++

댓글을 달아 주세요

최근에 달린 댓글

최근에 받은 트랙백

글 보관함