zoukankan      html  css  js  c++  java
  • WinDbg 调试命令记录一

    WinDbg是微软开发的免费源码级调试工具。Windbg可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件。
    下载地址:http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx

    ----------------------------------
    ----------------------------------

    缓存路径设置:

    srv*c:\ABeenSymcache*http://msdl.microsoft.com/download/symbols;c:\ABeenSymcache; // "c:\ABeenSymcache" 为本机设置的存储路径
    ----------------------------------
    非托管代码信息查看命令:

    ~    // 列出当前所有线程,当前线程左边有一点“.”

    ~ ns // 切换到线程n ,如:~ 2s切到线程2

    kb  // 查看线程被抓时刻的操作

    ~* kb :查看所有线程被抓时刻的操作

    托管代码信息查看命令:

    “.load clr20\sos.dll” // 载入.net sos.dll "clr20" 为sos.dll存放目录名(或.loadby sos mscorwks)

    !clrstack     // 查看当前线程 managed code 的信息

    ~* e!clrstack // 查看全部线程的managed code信息

    !dso(Dump Stack Objects的缩写)  // 显示当前栈上所有的变量

    !do+变量地址(dump object的缩写) // 查看变量的信息(托管代码,最核心的命令是 ) ,-nofields 参数,对于string这些类型,能输出的信息少点。

    DumpVC <Method Table> <Value object start addr>
      Example: DumpVC 907b50 67903084 //查看值类型结构


    !da+地址  // 查看数组信息

    dd   // 查看hashtable信息

    -------------------------------------------------------------------------------

    !bpmd ConsoleApp.exe ConsoleApp.Program.Tets //表示在些方法加断点

    !dumpheap   // 查看托管堆上所有的信息,-stat参数按照托管资源的类型group by,每个不同的类型的信息都列出来,TotalSize来排序的(但是这个size不准,注意)!dumpheap -stat和!dumpheap -mt <methodtable>是很有用的,尤其在分析high cpu/ high memory的时候。
              -min,这个命令的好处是,只列出比指定大小大的对象出来(如: !dumpheap -mt 790fd8c4 -min 8000)。
              -type,可以指定我们要看的类型。如string,如hashtable等。

  • 相关阅读:
    kafka集群partition分布原理分析
    Kafka的通讯协议
    RabbitMQ和Kafka
    深入理解kafka设计原理
    Kafka的Log存储解析
    Netty 超时机制及心跳程序实现
    Netty 实现 WebSocket 聊天功能
    Netty 实现聊天功能
    RabbitMQ在分布式系统中的应用
    Kafka文件存储机制那些事
  • 原文地址:https://www.cnblogs.com/abeen/p/1292110.html
Copyright © 2011-2022 走看看