라자루스 디버깅 툴 디버그서버 사용 방법

2021. 5. 27. 13:35 컴퓨터/유틸리티

Lazarus DebugServer

라자루스로 윈도우 프로그램을 작성할 때 아쉬운 점이 있습니다. 디버깅을 위한 문장을 라자루스의 Messages 윈도우에 출력할 수 있다면 좋겠는데 아직 방법을 찾지 못했습니다. 콘솔 프로그램이라면 가능한 것 같은데 윈도우 프로그램은 Messages 창으로 전송할 방법이 없네요.

대신에 라자루스가 설치된 폴더에 tools 폴더가 있는데, 이 안에 DebugServer라는 프로그램이 있습니다. 이 프로그램을 먼저 실행하고 디버깅을 위한 문자를 전송해서 확인할 수 있습니다.

▲ 라자루스로 lazarus/tools/debugserver 안에 있는 debugserver.lpi 프로젝트 파일을 열기 합니다.

▲ 만일 DebugServer를 컴파일해서 실행했을 때 시작하자마자 "debug message server raised exception class 'EIPCError' with message"가 발생하면 fmmain.pp의 276행 FSrv.Active:= True; 행을 주석 처리합니다.

프로그램에서 디버그 메시지 전송

uses
  dbugintf;

▲ 소스에 dbuginitf를 추가합니다.

procedure TForm1.Button1Click(Sender: TObject);
begin
  SendDebug( '종료 버튼을 클릭했습니다.');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  SendDebugFmt( '%d + %d = %d', [1, 2, 3]);
end;

▲ 문자열을 전송하는 SendDebug와 형식 문자열을 만들어서 전송하는 SendDebugFmt로 디버깅 메시지 코딩을 추가합니다.

▲ DebugSever를 실행한 후에 프로그램을 실행하면 디버깅을 위한 메시지가 화면에 출력됩니다.

라자루스의 외부 툴 메뉴에 추가

▲ Tools>>Configure External Tools... 메뉴를 실행합니다.

▲ Title에 적당한 제목을 넣고 Program Filename에 위 문장을 복사해서 넣거나 직접 DebugServer 실행 파일을 지정합니다.

▲ 이후로 Tools 메뉴를 통해 DebugServer를 바르게 실행할 수 있습니다.

이 댓글을 비밀 댓글로

티스토리 로그인이 풀리면 여기를 클릭하세요.

  1. 좋은툴이네요~~ 좋은정보 잘보고 갑니다~ 행복한 하루 되세요~
error: Content is protected !!