FreePascal Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
FreePacal 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

FreePascal Q&A
[92] FPC 컴파일러... System.pp 소스레벨 디버깅 참고하세요
빌더(TWx) [builder] 3240 읽음    2012-10-31 19:23
Makefile.fpc 파일은 FPC 컴파일러 팀에서 Makefile을 생성해 내기 위해 사용하는 일종의 스크립트 구조에 불과 합니다...

FPC 컴파일러의 실제적인 빌드과정은 GNU Make 프로그램을 이용해서 이루어지고... Makefile이 본연의 역할을 하게 됩니다...

FPC 컴파일러의 경우... 컴파일러가 파스칼로 구현되어 있고... 컴파일 시에 파스칼 소스코드를 읽어 들이고... 파싱해서...

오브젝트 파일을 생성하는 등... 파일액세스 같은 게 필요하기 때문에... 컴파일러 자체도 RTL이 필요하게 되는데요...

처음에 먼저 기본적인 수준에서 RTL을 빌드한 후에... ppc1 > ppc2 > ppc3 식으로 컴파일러의 기능을 점진적으로..

확장해 가면서 빌드 과정을 거치게 됩니다... 이런 과정을 컴파일러 빌드 과정의 Boot strap 과정이라고 하죠...

이렇게 ... 컴파일러 빌드시 3번의 Boot strap 과정을 거치기 때문에 ( 64비트 버전 빌드 까지 포함하면 컴파일러 빌드만 6번의...

빌드과정이 필요한 셈) 빌드 시간이 꽤 걸리죠...

FPC 컴파일러 툴체인의 빌드구조가... Shell, Perl 등의 Script를 다양하게 활용하는 구조도 아니고... 리눅스 환경에서의...

빌드구조에 비하면 매우 간단한 구조 입니다... GNU Make 프로그램 도큐먼트 문서가 잘 되어 있으니까 한번 읽어 보세요...


라자루스에서 F7 키를 눌러 Debugging Step-in 으로 가면... System.pp 소소코드를 보여주지 않고.. 다음과 같이..

Disassembly 코드만 보일 겁니다...(Lazarus 64bit Version)




압축파일을 하나 올리니까... 받아서...

C:/CodeTyphon/Fpc/Units/X86_64-Win64/Rtl

디렉토리에다 덮어 씌우세요... CodeTyphon 2.90 버전 기준이고... 32비트는 생략 합니다...

압축파일에 포함 되어있는...

system.ppu, system.o, libimpsystem.a 를...

C:/CodeTyphon/Fpc/Units/X86_64-Win64/Rtl

디렉토리에 덮어 쓴 후에... Lazarus 64비트 버전을 실행한 후에... F7 키를 누르면...

아래 그림과 같이... system.pp 를 로드하면서 소스레벨 디버깅이 가능해 질 겁니다.






...

+ -

관련 글 리스트
92 FPC 컴파일러... System.pp 소스레벨 디버깅 참고하세요 빌더(TWx) 3240 2012/10/31
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.