• 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等。

  • 相关阅读:
    [翻译] GCDObjC
    [翻译] ValueTrackingSlider
    [翻译] SWTableViewCell
    使用 NSPropertyListSerialization 持久化字典与数组
    [翻译] AsyncImageView 异步下载图片
    KVC中setValuesForKeysWithDictionary:
    [翻译] Working with NSURLSession: AFNetworking 2.0
    数据库引擎
    什么是数据库引擎
    网站添加百度分享按钮代码实例
  • 原文地址:https://www.cnblogs.com/abeen/p/1292110.html
Copyright © 2020-2023  润新知