자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi 델파이 XE8에서 쓰래드 디버깅 기능 향상된 것이 있나요?
2015.05.29 01:50
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
댓글 0
Delphi 델파이 XE8에서 쓰래드 디버깅 기능 향상된 것이 있나요?
2015.05.29 01:50
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