자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)

Q.

델파이 XE8에서 쓰래드 디버깅 기능 향상된 것이 있나요?


A.

델파이7~XE8 주요기능 따라잡기의 새로운 디버그 기능들 중 쓰레드 관련 기능을 안내해 드립니다.

기타 IDE, VCL/RTL, 언어/컴파일러, 디버그 기능들은 아래 페이지에서 확인해 보세요.

- http://www.devgear.co.kr/products/rad-studio/featurelist/



쓰레드에서 데드락 발생 시 그에대한 자세한 정보를 찾아볼 수 있습니다.

□ Wait Chain Traversal

 

Wait Chain Traversal(WCT)은 프로젝트의 어떤 쓰레드에서 데드락이 발생했을 때 그에 대한 자세한 정보를 찾아볼 수 있게 해줍니다. 쓰레드들 사이에 데드락이 발생했을 때, Thread Status에 새로 추가된 Wait Chain 컬럼에 각 쓰레드들 사이의 상호 블로킹 상태를 표시해줍니다. 
→ 자세히 보기:http://docwiki.embarcadero.com/RADStudio/XE8/en/Wait_Chain_Traversal_Overview


쓰레드 이름을 지정해 쓰레드 디버깅을 더 용이하게 할수 있습니다.

NameThreadForDebugging

procedure TShortThread.Execute;
begin
   NameThreadForDebugging (AnsiString(ClassName));
   Sort(Slice(FSortArray^, FSize));
end;

쓰레드 디버깅이 용이하도록 TThread 클래스에 NameThreadForDebugging 메소드가 추가되었으며, 이를 이용하여 IDE의 Thread View에 현재 디버깅중인 각 쓰레드들의 이름을 볼 수 있습니다.

□ 쓰레드의 임시 이름 지정

 

디버깅 중에도 Thread Status Window의 특정 쓰레드에 임시로 이름을 지정할 수 있습니다. 
→ 자세히 보기:
http://docwiki.embarcadero.com/Libraries/XE8/en/System.Classes.TThread.NameThreadForDebugging

쓰레드를 지정해 중단점을 걸어 특정 쓰레드에서 디버깅 할 수 있습니다.

□ 쓰레드 지정 중단점(BreakPoint)

 

멀티 쓰레드 개발 시 중단점을 찍으면 여러 쓰레드에 중단점이 걸려 IDE가 먹통(Hang)이 될 수 있습니다. 이런 경우 쓰레드를 선택 해 중단점을 찍고 디버깅 할 수 있습니다. 
→ 자세히 보기: http://docwiki.embarcadero.com/RADStudio/XE8/en/Breakpoint_Properties

원하는 쓰레드만 디버깅 하기 위해 쓰레드를 일시적으로 얼리고(Freeze) 녹일(Thaw) 수 있습니다.

□ 쓰레드 Freeze/Thaw

 

특정 쓰레드만 디버깅하기 위한 Thread Specific Breakpoint 기능이 추가되었습니다. 
→ 자세히 보기:http://docwiki.embarcadero.com/RADStudio/XE8/en/Freezing_and_Thawing_Threads_in_the_Debugger


번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 17216
공지 유용한 관련 사이트 관리자2 2014.03.20 56087
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 99529
1573 [델파이 부트캠프] 앱 개발에 관심이 많아 개발 방법이 궁금합니다. 험프리 2016.09.30 195
1572 상위버전에서 지원하는 REST.JSON 또는 System.JSON 을 사용할 수 있을까요? [2] 도의 2018.07.27 195
1571 HTML5에서 실행파일 구동하기 관련 명령 알고 싶습니다. [1] file 백거 2018.02.01 196
1570 ems서버 에서 post관련 종결자 2019.08.26 196
1569 sqlconnection 사용법을 알고 싶습니다. [1] 덩어리2 2019.12.14 197
1568 XE5 에서 REST API JSON 요청시 전송되는 값이 일부 ASCII 로 변환됩니다. osy 2020.10.23 197
1567 실행시 환경설정에러관련 [Error Error] Invalid PLATFORM [2] 대화마을 2017.03.02 198
1566 Delphi10.2 평가판 안드로이드 7 안되네요,. [3] 캔나영 2017.08.30 198
1565 VCL Style 지정시 MouseDown문제 크림슨킹 2019.04.16 198
1564 10.3.3 samples 프로그램 FlashLight을 돌리면 오류가 납니다. [4] 델파이-앱 2020.02.19 198
1563 Rad서버 질문입니다. [1] 희망나라 2020.09.04 198
1562 RAD Server에서 FileStream사용하여 응답보내기 [2] 초보입니다 2020.11.19 198
1561 [10.2 도쿄 출시세미나] 리눅스 지원 된다 했는데, 우분투와 레드헷 만되고, CentOS 는 안되나요? 험프리 2017.04.06 199
1560 10.3.2 Webbrowser 버그인가요? (iOS) file 돌팅 2019.08.31 199
1559 델파이 10 씨에틀을 사용중인데요.... [1] 도고래 2016.04.21 200
1558 지뢰찾기를 만드는중에 질문이 있어서 글올립니다. [1] file 땅콩맨 2017.09.15 200
1557 구글스토어 개발자콘솔 앱등록 관련 문의드립니다. 시리온느 2019.03.13 200
1556 10.3.2 Update Trouble & Embarcadero Server Down 문의 [1] DKK 2019.07.25 200
1555 dbexconnections.ini 파일 에러 [2] 그래요 2020.01.08 200
1554 [10.2 도쿄 출시세미나] 네이티브 HTTPS 사용 시 OpenSSL 라이브러리(libeay32, ssleay32)를 같이 배포해야 하나요? 험프리 2017.04.06 200