如何使用Ollydbg与multithreading程序?

  1. 我在这里已经看到,Olly支持multithreadingdebugging,但我找不到任何video或一个很好的教程,看看如何debugging一个multithreading的程序。

  2. 我想知道如何使用Ollydbg并查看所有当前线程的堆栈和寄存器,并区分现在正在运行的线程。

  3. 在Linux / Windows中是否还有其他很好的debugging工具?

在Ollydbg中调试多线程应用程序非常简单。

点击“T”按钮或进入查看>线程打开线程窗口。 该窗口显示应用程序中的所有当前线程。

主线程通常在列表中突出显示。 如果你右键点击你选择的线程,你会看到一些选项。

要查看CPU窗口中的线程(包括线程的堆栈和寄存器信息),请选择“ 在CPU中打开 ”选项。 您还可以对线程进行一些更改,如更改其优先级,挂起或甚至杀死它。

编辑:
如果你想直接从UserMode调试新的线程,请阅读这个简短的指南。