Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1320650
  • 博文数量: 179
  • 博客积分: 4141
  • 博客等级: 中将
  • 技术积分: 2083
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-21 20:04
文章存档

2024年(1)

2019年(13)

2016年(1)

2014年(16)

2011年(8)

2010年(25)

2009年(115)

分类:

2009-03-22 20:14:35

多线程调试

调试多线程的调试器通常也是多线程应用程序。通常是一个线程处理被调试进程,另外的一个或者多个程序用来处理用户接口相关的事件。这个专用的目标线程将大部分时间花在WaitForDebugEvent, 只有当目标线程停止的时候才返回。

下面是几个调试器所需要的调试事件:

l  EXCEPTION_DEBUG_EVENT

l  CREAT_THREAD_DEBUG_EVENT

l  CREAT_PROCESS_DEBUG_EVENT

l  EXIT_THREAD_DEBUG_EVENT

l  EXIT_PROCESS_DEBUG_EVENT

当调试事件发生时,所有的目标进程挂起,调试器通过WaitForDebugEvent得到通知。

我们也可以通过GetThreadContext()获取线程上下文信息,也可以通过SetThreadContext()设置线程上下文信息。

调试器提供了弹性的功能,它允许用户只调试一个进程,运行一个进程或者冻结某一个进程。当然,这些同样需要操作系统提供相应的API支持。

阅读(2470) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~