Jump to content
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr ×
과거의 기술자료(읽기 전용): https://tech.devgear.co.kr
  • 0

remote debugging 관련 문의


풀잎술잔나비

질문

안녕하세요.

Delphi로 개발을 진행하고 있는데요.

 

개발환경 : Windows 11 64bit, 32Gb Memory, Delphi XE3

원격지PC 환경 :  Windows Server 2008 R2 Standard Service Pack 1, 4Gb Memory

 

remote debugging 관련하여 정상적으로 이루어지지 않아 문의를 드립니다.

현재 확인하고 있는 방법입니다. (예는 11.1 Community 버전)

0. 원격지PC 상에 PAServer 설치 및 PAServer.exe 실행 > rmtdbgXXX.exe 자동실행 및 '[1] <-listen>' 메시지 출력되는 것 확인

1. Project 생성 (VCL, Win32, exe)

2. Option 메뉴 > Deployment > Connection Profile Manager > Platform, Host name, Port number 항목에 구성에 맞는 값 입력

3. Test Connection 버튼 클릭 > 'Connection to 'xxx.xxx.xxx.xxx' on port 64211 succeeded' 메시지 확인

4. Run without Debugging 실행 > 정상적으로 원격지PC 상에 해당 프로그램이 실행되는 것을 확인

5. Run (Debugger와 함께) 실행 > 'Unable to connect to remote host' 메시지 출력하며 원격지PC 상의 해당 프로그램 실행 안 됨

 

어느 부분이 잘못되었을까요 ?

Project Option > Linking > Include remote debug symbols 항목 체크

하여 동작해 보아도 역시 마찬가지입니다.

실행파일과 rsm 파일이 원격지에 정상적으로 생성되는 것까지 확인하였으나 debugger와 함께 실행하면 연결이 되지를 않네요.

 

이와 같은 현상은 XE3, Seattle에서도 동일하게 발생합니다.

 

1 Debugger 없이 실행하였을 경우, 원격지에 정상적으로 실행파일이 실행됨

noDebugger.thumb.png.5f51e3baea9bba76f79981574a0c5a33.png

 

2 Debugger와 함께 실행시 원격지 화면

Debugger_host.thumb.png.fb705348ecc31e1dc987488bed744cce.png

 

Debugger와 함께 실행시 IDE 화면

Debugger_ide.thumb.png.271ad241df40cdf93bfa72d1ae803780.png

Edited by 풀잎술잔나비
이 댓글 링크
다른 사이트에 공유하기

6 answers to this question

Recommended Posts

  • 0

자문자답 :

서버단에 실행파일을 원격디버깅하는 것으로써, PC가 실제의 서버이기에 incomming port가 막혀 있어서 발생하는 문제였습니다.

어떤 포트를 사용하고 있는지 확인하고자 하였으나, 정확히 확인할 수는 없었고, 현재는 모든 포트를 풀어서 원격디버깅을 할 수 있게 된 상태입니다.

일단 의심되는 포트는 TCP 1839, 64447 포트입니다. (remote profile에서 설정하는 포트와는 무관)

관련하여 PAServer 및 rmtdbg가 정확히 어떤 포트를 사용하는지 아시는 분은 좀 알려주세요.

^^;

Edited by 풀잎술잔나비
이 댓글 링크
다른 사이트에 공유하기

  • 0
35 분 전, c2design said:

원격지 서버의 디버거 사용 폴더의 외부사용 권한을 한번 체크해 봐 주세요.

원격지에 exe, rsm 파일이 정상적으로 복사 되나, debugger와 함께 실행하면 실행파일이 원격지에서 자동으로 실행이 안 됩니다.

복사가 정상적으로 이루어지는 것으로 보아, 외부 사용 권한은 있는 것으로 보입니다.

디버거 없이 IDE에서 실행(run 메뉴 > run without Debugging)을 시키면, 원격지에 실행파일이 잘 복사되고, 자동으로 잘 실행이 됩니다.

Edited by 풀잎술잔나비
이 댓글 링크
다른 사이트에 공유하기

  • 0

원격 디버깅을 하시고자 할 경우, 기본적으로 확인하여야 하는 것은

Project Option > 'Compilling' - Optimization : false, Stack frames : true

Project Option > 'Linking' - Include remote debug symbols : true

이어야 합니다.

그리고 Project Manager창에서 Target Platforms 항목 > 마우스 오른쪽 버튼 눌러 팝업 메뉴 > 'Assign Remote Profile'을 선택하여 필요한 remote profile을 작성하시면 됩니다..

Edited by 풀잎술잔나비
이 댓글 링크
다른 사이트에 공유하기

이 토의에 참여하세요

지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.

Guest
이 질문에 답변하기...

×   서식있는 텍스트로 붙여넣기.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   이전에 작성한 콘텐츠가 복원되었습니다..   편집창 비우기

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

중요한 정보

이용약관 개인정보보호정책 이용규칙 이 사이트가 더 잘 작동하기 위해 방문자의 컴퓨터에 쿠키가 배치됩니다. 쿠키 설정 변경에서 원하는 설정을 할 수 있습니다. 변경하지 않으면 쿠키를 허용하는 것으로 이해합니다.