자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 17227
공지 유용한 관련 사이트 관리자2 2014.03.20 56105
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 99543
1059 비콘 감지중 블루투스를 사용자가 강제로 off시 어떻게 처리해야 할까요? 김태윤 2016.07.15 708
1058 스트링그리드에서 숫자 표현 방법을 문의 합니다 [1] 손보라 2017.08.07 711
1057 영상 녹화 및 캡쳐 - OpenCV 설치?? [1] file midas 2018.07.03 711
1056 TFrame에서 Tcheckbox 이상증상 [1] 희망나라 2015.03.23 715
» 델파이 XE8에서 쓰래드 디버깅 기능 향상된 것이 있나요? Humphery 2015.05.29 716
1054 [XE7] 버그 게시판에 올린 문제점은 보고가 된 상태인지요?T_T [2] 사조성 2014.12.27 718
1053 LiveBinding을 이용하여 DB와 Grid, Edit를 연결하고 DB에 변경된 데이터를 저장하는 방법 문의드립니다. [2] 기룬이 2016.06.09 718
1052 델파이XE8에서 2차원배열 넘기기가 기존과 바뀌엇나요? [2] 헨씀히포 2016.02.27 720
1051 파일 열기 오류 kyh 2016.04.27 721
1050 중국어 깨짐.. [1] 시작.. 2021.08.06 721
1049 1msec 이하 타임클럭 문의!! [4] 산으로가자요 2018.01.18 726
1048 CodeSiteExpress 관련 문의드립니다. [1] 비내림 2016.02.15 726
1047 ListView질문입니다. [1] 희망나라 2015.04.19 727
1046 ADOconnection 에서 MDB 파일 연결 질문입니다... [2] 초보델팡이 2019.05.15 732
1045 [Debug 64bit ERR] 윈도우 10 디버깅 오류 관련 문의 file 이수엽 2017.02.15 733
1044 혹시 C#처럼 함수의 설명을 사용자가 정의할수 있을까요? 캬훌훌 2015.01.07 735
1043 XE10 컴파일시 에러가 나옵니다. [1] 텔로스김 2016.01.27 736
1042 Access Violation 에러 때문에 map파일로 확인하려고 하는데 잘 안됩니다ㅜ [1] file 맛재현 2017.04.24 737
1041 TMediaPlayer.Open 중 Invalid floating point operation 에러 발생 [4] Jack 2020.06.29 737
1040 델파이7 마이그레이션 문의 [1] 오기영 2019.07.23 738