修改线程名称并在VC调试器中显示

来源:计算机等级考试    发布时间:2012-08-29    计算机等级考试视频    评论

  #define MS_VC_EXCEPTION 0x406d1388

  typedef struct tagTHREADNAME_INFO

  {

  DWORD dwType;        // must be 0x1000

  LPCSTR szName;       // pointer to name (in same addr space)

  DWORD dwThreadID;    // thread ID (-1 caller thread)

  DWORD dwFlags;       // reserved for future use, most be zero

  } THREADNAME_INFO;

  void SetThreadName(DWORD dwThreadID, LPCTSTR szThreadName)

  {

  THREADNAME_INFO info;

  info.dwType = 0x1000;

  info.szName = szThreadName;

  info.dwThreadID = dwThreadID;

  info.dwFlags = 0;

  __try

  {

  RaiseException(MS_VC_EXCEPTION, 0, sizeof(info) / sizeof(DWORD),

  (DWORD *)&info);

  }

  except (EXCEPTION_CONTINUE_EXECUTION)

  {

  }

  }

  线程名称限制在9个ANSI字符内,调用这个函数后,将触发一个调试器异常,VC调试器将会把字符串设置为线程名称,并在调试器中显示。

  编辑特别推荐:

  枚举计算机的串口函数

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答