방법: 네이티브 코드에 스레드 이름 설정

이 항목은 다음 언어에 적용됩니다.

Edition

Visual Basic

C#

F#

C++

Web Developer

Express

항목이 적용되지 않음 항목이 적용되지 않음

항목이 적용되지 않음

네이티브 전용

항목이 적용되지 않음

Pro, Premium 및 Ultimate

항목이 적용되지 않음

항목이 적용되지 않음

항목이 적용되지 않음

네이티브 전용

항목이 적용되지 않음

프로그램의 스레드 이름을 설정하려면 다음 코드 예제와 같이 SetThreadName 함수를 사용합니다. threadName 매개 변수에 대한 메모리가 해제될 수 있도록 스레드 이름이 스레드에 복사됩니다.

예제

//
// Usage: SetThreadName (-1, "MainThread");
//
#include <windows.h>
const DWORD MS_VC_EXCEPTION=0x406D1388;

#pragma pack(push,8)
typedef struct tagTHREADNAME_INFO
{
   DWORD dwType; // Must be 0x1000.
   LPCSTR szName; // Pointer to name (in user addr space).
   DWORD dwThreadID; // Thread ID (-1=caller thread).
   DWORD dwFlags; // Reserved for future use, must be zero.
} THREADNAME_INFO;
#pragma pack(pop)

void SetThreadName( DWORD dwThreadID, char* threadName)
{
   THREADNAME_INFO info;
   info.dwType = 0x1000;
   info.szName = threadName;
   info.dwThreadID = dwThreadID;
   info.dwFlags = 0;

   __try
   {
      RaiseException( MS_VC_EXCEPTION, 0, sizeof(info)/sizeof(ULONG_PTR), (ULONG_PTR*)&info );
   }
   __except(EXCEPTION_EXECUTE_HANDLER)
   {
   }
}

참고 항목

작업

방법: 관리 코드에 스레드 이름 설정

개념

디버거에서 데이터 보기

기타 리소스

다중 스레드 응용 프로그램 디버깅