Thread에 이름 붙이기

멀티 쓰레드 환경에서 Break point를 잡고 디버깅 하다보면 불편한 것 중에 하나가 디버깅 데스크탑에 나오는 Thread Status 탭에 쓰레드 ID 만 나와서 구분하기 힘들다는 것입니다. 여기에 보면 Main 쓰레드의 경우는 Main 하고 나오지요.

이걸 어떻게하는 걸까 하고 뒤져봤다니 Indy에 이런 기능이 IdGlobal.pas에 SetThreadName이라는 프러시저로 지원하네요. 코드 내용을 보니 MS에서 자기들 디버깅용으로 사용하려고 만들어 놓은것 같네요.

사용 방법은 쓰레드의 Execute 프러시저 안에서 호출하면 됩니다. 함수 내용을 보면 알겠지만, 현재 쓰레드의 이름을 설정하기 때문에 거기서만 가능합니다.

 

TThread의 Helper로 작성한다면

이렇게 하고 Execute에서는

— 출처 : 볼랜드 포럼 : 작성자 : DrK  (whitekid) —

Author: yyjksw