Windbg调试入门

Windbg 是 Microsoft 公司推出的免费的、带 GUI 的调试器,支持 Source 和 Assembly 两种模式的调试。 Windbg 不仅可以调试应用程序,还可以进行系统内核调试,Windbg 支持的平台包括 X86、IA64、AMD64。

软件调试

使用WinDbg查看调用堆栈

一. 显示堆栈信息k*命令 1234[~Thread] k[b|p|P|v] [c] [n] [f] [L] [M] [FrameCount][~Thread] k[b|p|P|v] [c] [n] [f] [L] [M] = BasePtr [FrameCount][~Thread] k[b|p|P|v] [c] [n] [f] [L] [M] = BasePtr StackPtr InstructionPtr[~Thread] kd [WordCount]

软件调试

使用WinDbg调试关键区死锁

本文通过一个实例来讲解如何使用WinDbg来调试Windows CriticalSection死锁的问题。 一. 演示示例这里有一个关键区锁死问题的程序,运行之后依次点击“CS锁死”按钮、右上角退出按钮,程序就会卡死。 对于眼下的这个问题,界面完全失去响应,这说明负责消息处理的UI线程阻塞了。 对于几乎所有的windows GUI程序,编号为0的初始线程就是UI线程,windows发现该界面一段时间没有消息响应之后就会在标题后面加上“(未响应)”。

软件调试

使用WinDbg调试互斥体死锁

本文通过一个实例来讲解如何使用WinDbg来调试Windows Mutex死锁的问题。

软件调试