十三,线程[Threads]
OllyDbg 以简单而有效的线程管理为特色。如果您单步调试、跟踪、执行到返回或者执行到所选,则线程管理器将停止除当前线程以外的所有线程。即使当前线程被挂起,它也会将其恢复。在这种情况下,如果您手动挂起或者恢复线程,动作将被延期。如果您运行被调试的应用程序,OllyDbg将恢复最初的线程状态。(从调试器的角度来看,Hit跟踪[hit trace]和自由运行是等效的)。
依据这种方案,线程窗口可能会有如下五种线程状态:
激活[Active] - 线程运行中,或被调试信息暂停t
挂起[Suspended] - 线程被挂起
跟踪[Traced] - 线程被挂起,但OllyDbg正在单步跟踪此线程
暂停[Paused] - 线程是活动的,但OllyDbg临时将其挂起,并在跟踪其它的线程
结束[Finished] - 线程结束
.
线程窗口同时也显示了最后的线程错误(GetlastError函数的返回值)并计算该线程以用户模式和系统模式(仅NT/2000/XP)运行的时间。线程窗口还会高亮主线程的标识符。
以下在快捷菜单中可用:
刷新[Actualize] - 标记所有线程为旧的。
挂起[Suspend] - 挂起线程。
恢复[Resume] - 恢复先前挂起的线程。
设置优先级[Set priority] - 调整进程中线程的优先级。以下选项可用:
空闲[Idle] - 进程中线程的最低优先级
最低[Lowest]
低[Low]
标准[Normal]
高[High]
最高[Highest]
时间临界[Time critical] - 最高优先级
在CPU窗口打开[Open in CPU](双击)- 在CPU窗口中显示所选线程的当前状态。
|