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

윈도우 11 Win32 디버깅 패치 (델파이,C++빌더, RAD스튜디오 11.1 버전)


Recommended Posts

 

There is a new patch (or hotfix) available for RAD Studio 11.1. The patch addresses an issue specific to debugging Win32 apps on Windows 11, where the IDE sometimes appears to freeze. Typical situations where you could observe the freeze include evaluating watches with side effects, opening the Threads view to switch threads, attaching to a process, and other common debugging actions. The issue is caused by getting the thread wait chain (GetThreadWaitChain()), which sometimes takes up to a minute. It is resolved by disabling the thread wait chain feature in the debugger.

RAD스튜디오 11.1 버전의 새로운 패치 (또는 핫픽스)가 출시되었다. 이번 패치는 IDE가 한 번씩 멈춰버리는 것처럼 보이는 윈도우 11에서의 Win32 앱 디버깅 관련 문제를 해소하였다. 멈춤 상태를 확인할 수 있는 일반적인 현상은 부작용이 있는 watch 평가, Threads view를 열어 스레드 전환, 기타 일반 디버깅 작업 등이 있다. 해당 문제는 최대 1분까지 소요되기도 하는 스레드 대기 체인 GetThreadWaitChain()을 가져올 때 발생하며, 디버거에서 스레드 대기 체인 기능을 비활성화하면 해결할 수 있다.

 

The exact cause of the thread wait chain delay is unknown but it appears to be related to a thread having a socket open, possibly where the thread is waiting to finish network IO.

스레드 대기 체인 지연의 정확한 원인은 알 수 없지만, 스레드가 네트워크 IO 종료를 위해 대기할 가능성이 있는 소켓이 열려져있는 스레드와 연관이 있는 것으로 보인다.

 

Thread wait chain information is disabled for Win32 on both Windows 10 and Windows 11. There is an environment variable to re-enable it if you need the feature: set DBK_ENABLE_WAITCHAIN=1 on a command prompt, and run RAD Studio (alternatively, set that environment variable globally for Windows.) Only Windows 11 is affected by the issue, so you only need to install the patch on Windows 11.

스레드 대기 체인 정보는 윈도우 10과 윈도우 11 모두에서 Win32에 대해 비활성화 되어 있다. 이 기능이 필요하다면 재활성화할 수 있는 환경 변수가 있다. 그 방법은 명령 프롬프트에 DBK_ENABLE_WAITCHAIN=1로 설정되어있고, RAD스튜디오를 실행해 (또는 윈도우 해당 환경 변수를 설정해) 설정하면 된다. 윈도우 11에서만 이 문제가 영향을 미치므로, 윈도우 11에만 해당 패치를 설치하면 된다.

 

설치

You can download this in GetIt (our recommended technique; also it will show as available on the Welcome Page when you start the IDE) or install manually after downloading from my.embarcadero.com (the zip file contains a batch file installer.)

가장 추천하는 방법으로는 겟잇(GetIt)에서 다운로드를 받는 것이다. IDE를 시작하면 Welcome Page에 메세지가 뜰 것이다. 또는 my.embarcadero.com 사이트에서 다운로드를 받아 수동으로 설치할 수도 있다. 참고로 zip 파일에는 batch 파일 인스톨러가 포함되어 있다.

spacer.png

RAD스튜디오 11.1 Welcome 화면에 'Patch available' 버튼이 뜬다. 이 버튼을 클릭해서 패치를 설치할 수 있다.

 

 

원격 디버깅

Because this patches the debugger, if you do remote debugging you will also need to update PAServer on the remote machine. The patch installer replaces the (your RAD Studio install location)PAServersetup_paserver.exe file, but you’ll need to copy that over to the remote machine and install it. There are full details in the patch readme.

이 방법으로 디버거를 패치할 수 있어, 원격 디버깅을 하는 경우 원격 머신에서 PAServer도 업데이트를 해야할 수 있다. 패치 인스톨러는 PAServersetup_paserver.exe (RAD스튜디오가 설치되어 있는 위치) 파일을 대체하기는 하지만, 이를 원격 머신에 복사한 뒤 설치를 진행해야 한다. 자세한 내용은 패치 readme에 상세히 설명되어 있으므로 참고하기 바란다.

 

 

 

이 댓글 링크
다른 사이트에 공유하기

이 토의에 참여하세요

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

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...

중요한 정보

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