자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 19791
공지 유용한 관련 사이트 관리자2 2014.03.20 58763
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 102316
1059 안드로이드를 선택할 경우 run이 비활성화 되었습니다 [2] 조르디 2018.03.21 186
1058 안드로이드 앱에서 사진을 찍어 FPT로 올릴 경우의 문제입니다. [4] 노력짱 2018.03.22 314
1057 MDI Application 에서 TeeChart 를 자식폼에 넣으면 에러 발생하는 문제??? [6] sihwan 2018.03.23 318
1056 블루투스 송수신 질문이 있습니다. [3] 데브순 2018.03.23 1435
1055 JAR를 임포팅하여, 인터페이스로 구현된 콜백함수를 호출하지 못하고 있습니다. [2] 조르디 2018.03.27 233
1054 델파이 웹에서 exe파일 실행하기 문의드립니다. 알거없잔하용 2018.03.27 649
1053 C++ Builder 몇가지 빌드오류. [2] junho103 2018.03.27 425
1052 seattle FMX에서 GetJDisplayMetrics hsson 2018.03.28 138
1051 Linker Error 해결좀 부탁드려요 급합니다 [5] 빛찬 2018.03.29 245
1050 "80070002 지정된 파일을 찾을수 없습니다" 라는 에러 발생 [5] 하루 2018.04.01 4365
1049 Label 색을 변경을 하였는데, 컴파일해서 실행하면 검은색으로 표시됩니다. [6] 하루 2018.04.01 1848
1048 [질문] DX 10.2.3에서 MSVCR90.DLL 오류가 발생합니다. file 델사냥 2018.04.02 392
1047 블루투스를 사용하고싶습니다. [1] 쀼뱌라라 2018.04.09 363
1046 TListBox 런타임 시 스크롤 위치 변경방법이 궁금합니다. 김태윤 2018.04.09 309
1045 라인 짤림 현상 문의드립니다. file 돌팅 2018.04.10 329
1044 컴파일 후 안드로이드 실행하면 cannot find -lIDEAndroidPlatform 에러가 발생합니다. [1] jeongkyu 2018.04.10 264
1043 베를린으로 안드로이드 개발시 string Grid 클리어는 어떻게 하는지 알고 싶습니다. [1] wiju 2018.04.10 245
1042 No Platform availabel for current project [1] file 까칠스프 2018.04.12 135
1041 xe10.2에서 VKAutoShowMode 가 작동하지 않는 문제 [4] 개발자 2018.04.12 462
1040 컴파일 오류 RLink32 : Too many resources to handle [1] SamPark 2018.04.16 469