Windbg初探

Windbg是调试Window客户端程序的利器,这篇文章记录其基本使用方法,以方便跟踪调试发布的程序。

 1.Windbg与客户端程序关联方法

  (1)启动客户端自动唤起windbg:Windbg目录下有名为gflags的可执行文件,打开后如下图所示:

      

   选择Image File页签,按图中所示,将要关联的客户端程序和windbg所在目录全名填入,确定之后便完成了关联,取消关联时将Debugger勾选框勾掉即可;

  (2)通过windbg开启客户端:打开windbg,点击File-->Open Executable,找到客户端文件关联即可;

  (3)注入到已开启的客户端中:打开windbg,点击File-->Attach to a Process,找到已经运行的客户端进程关联即可。

2.符号表加载  

  点击File-->Symble File Path,填入客户端程序对应的PDB文件所在路径,然后勾选Reload勾选框,点击OK按钮即可。这里要注意,其实并不是所有的进程对应的符号表都需要加载,一般情况下,只需加载程序员关心的代码对应符号表,许多Windows系统API对应的符号表往往找起来麻烦,并且对于解决问题作用不大。因此加载时提示不关心的进程符号表无法找到也没大的问题。

3.Windbg常用命令

  (1)g    运行客户端

  (2)~    显示当前进程中所有线程

  (3)~*    显示当前进程中所有线程的详细信息

  (4)~0s   把当前线程切换到0号线程,一般即主线程(这个非常实用,因为断下来后线程往往不在主线程)

  (5)~*kb   列出当前进程中所有线程的堆栈信息

  (6)k     当前线程的堆栈信息

原文地址:https://www.cnblogs.com/elvisxu/p/1892475.html