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를 바르게 실행할 수 있습니다.
'컴퓨터 > 유틸리티' 카테고리의 다른 글
비주얼 스튜디오 코드 컬럼 모드 블록(Column Block) (2) | 2021.06.07 |
---|---|
네이버 웨일 임시 폴더 위치 이동 (1) | 2021.05.25 |
쉬프트 스페이스 한영 전환 jwShiftSpaceKey 64bit버전 (5) | 2021.05.21 |