자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 17818
공지 유용한 관련 사이트 관리자2 2014.03.20 56716
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 100232
653 델파이 openCV 설치 관련 질문.. [2] file 아놀드 2021.03.16 702
652 [공유] FireDAC-MySQL 사용 중 '!abc'와 같이 느낌표와 문자 사용 시 문자가 없어지는 현상이 발생합니다. 험프리 2017.05.16 707
651 [오픈소스] Python for Delphi(P4D) 설치 및 watson conversation api 연동 [3] 신현아빠 2017.12.19 707
650 스트링그리드에서 숫자 표현 방법을 문의 합니다 [1] 손보라 2017.08.07 713
649 엑셀 저장 오류 [5] 똘귀아빠 2020.04.27 713
648 영상 녹화 및 캡쳐 - OpenCV 설치?? [1] file midas 2018.07.03 714
647 DataSnap encryption [9] file 가나당 2015.12.23 717
646 [XE7] 버그 게시판에 올린 문제점은 보고가 된 상태인지요?T_T [2] 사조성 2014.12.27 719
» 델파이 XE8에서 쓰래드 디버깅 기능 향상된 것이 있나요? Humphery 2015.05.29 720
644 파일 열기 오류 kyh 2016.04.27 722
643 LiveBinding을 이용하여 DB와 Grid, Edit를 연결하고 DB에 변경된 데이터를 저장하는 방법 문의드립니다. [2] 기룬이 2016.06.09 723
642 델파이XE8에서 2차원배열 넘기기가 기존과 바뀌엇나요? [2] 헨씀히포 2016.02.27 725
641 CodeSiteExpress 관련 문의드립니다. [1] 비내림 2016.02.15 728
640 1msec 이하 타임클럭 문의!! [4] 산으로가자요 2018.01.18 734
639 혹시 C#처럼 함수의 설명을 사용자가 정의할수 있을까요? 캬훌훌 2015.01.07 735
638 XE10 컴파일시 에러가 나옵니다. [1] 텔로스김 2016.01.27 738
637 [Debug 64bit ERR] 윈도우 10 디버깅 오류 관련 문의 file 이수엽 2017.02.15 738
636 ADOconnection 에서 MDB 파일 연결 질문입니다... [2] 초보델팡이 2019.05.15 738
635 StringGrid와 Query Component와의 바인딩에 대한 질문입니다 투덜이스머프 2014.12.29 739
634 델파이7 마이그레이션 문의 [1] 오기영 2019.07.23 741