블로그 이미지
ssun++

카테고리

[전체] (73)
Android (7)
JavaScript (9)
CI (5)
Language (14)
ETC (38)
Total311,354
Today13
Yesterday32

'VS2008'에 해당되는 글 3건

  1. 2011.08.27 Chromium 디버깅
  2. 2011.08.15 Chromium 빌드하기
  3. 2011.04.02 fatal error C1007: unrecognized flag '-typedil' in 'p2' (2)

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

댓글을 달아 주세요

[시작]
웹킷을 VS2005로 빌드하던 중 제목과 같은 에러가 발생하였습니다.

[검색]
VS2008에서 빌드한 static library를 VS2005에서 사용한 것이 원인이라고 합니다.

[분석]
웹킷에는 WebKit svn에서 받은 소스 이외에 추가로 필요한 라이브러리가 있습니다.
이전 포스팅에서도 언급한 적이 있었습니다만.
ICU, libdispatch, libiconv, libxml2, libxslt, pthread, sqlite, zlib 정도 입니다.

대부분은 해당 라이브러리 홈페이지에서 lib 파일을 제공하지만.
sqlite는 소스 파일만 제공하고 lib 파일은 제공하지 않습니다.

그래서 직접 빌드해서 사용하였는데
VS2008에서 빌드했던 파일을 그대로 VS2005에서 사용한 것이 문제였지요.

[해결]
sqlite3.lib 파일을 VS2005로 빌드해서 사용했을 때는 에러가 발생하지 않네요 :)
Posted by ssun++

댓글을 달아 주세요

  1. 2011.04.05 12:59 신고 이선웅  댓글주소  수정/삭제  댓글쓰기

    DLL 싫어..

최근에 달린 댓글

최근에 받은 트랙백

글 보관함