0

wec7 ベースのアプリケーションを構築しています。次のスレッドがあります。

bool ChannelDataQueue::b_ChannelDataQueue_StartThread()
{
   m_hThread = CreateThread(NULL, 0, ChannelDataQueue::u32_ChannelDataQueue_ReadChannelData, (LPVOID)this, CREATE_SUSPENDED, NULL);

   CeSetThreadPriority(m_hThread,CE_THREAD_PRIO_256_HIGHEST);
  //SetThreadPriority(m_hThread,249);//248
  ResumeThread(m_hThread);

  return true;
}

VS2008 のリモート ツールを使用してプロセスとスレッドを監視していますが、スレッドはそのプロセスと TID/PID でのみ表示されます。ID に基づいて監視しているスレッドを特定する方法がわかりません。

4

1 に答える 1

0

CreateThread呼び出しの最後のパラメーターは、スレッド ID を受け取る DWORD へのポインターです。

例:

bool ChannelDataQueue::b_ChannelDataQueue_StartThread()
{
    DWORD threadID;

    m_hThread = CreateThread(NULL, 0, ChannelDataQueue::u32_ChannelDataQueue_ReadChannelData, (LPVOID)this, CREATE_SUSPENDED, &threadID);

    // At this point, inspect the threadID in the debugger,
    // print it to the console, write it to a file, etc...

    CeSetThreadPriority(m_hThread,CE_THREAD_PRIO_256_HIGHEST);
    //SetThreadPriority(m_hThread,249);//248
    ResumeThread(m_hThread);

    return true;
}
于 2015-08-14T16:58:30.190 に答える