zoukankan      html  css  js  c++  java
  • 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     当前线程的堆栈信息

  • 相关阅读:
    java中&和&&是怎么运算的
    struts中ActionForward 使用mapping.findForward如何传递get参数
    EL表达式_详解
    JSTL标签_详解
    inner join, left join, right join, full join 的区别
    CentOS7部署FastDFS+nginx模块
    一个实例明白AutoResetEvent和 ManulResetEvent的用法
    C#防止在画面上闪烁的Button
    C#中给Label控件设置BackgroundImage属性
    浅析C#异步操作
  • 原文地址:https://www.cnblogs.com/elvisxu/p/1892475.html
Copyright © 2011-2022 走看看