본문으로 바로가기
homeimage
  1. Home
  2. 컴퓨터/유틸리티
  3. 라자루스 디버깅 툴 디버그서버 사용 방법

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

· 댓글개 · 바다야크

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를 바르게 실행할 수 있습니다.

SNS 공유하기
💬 댓글 개
최근글
이모티콘창 닫기
울음
안녕
감사해요
당황
피폐

이모티콘을 클릭하면 댓글창에 입력됩니다.