zoukankan      html  css  js  c++  java
  • winDbg 命令使用帮助

    srv*C:/symbol*http://msdl.microsoft.com/download/symbols;D:DesktopCMS_Dump

    symck //检查pdb
    lm //显示pdb

    //写入日志文件
    .logopen d:output.txt
    .logclose
    .logfile

    !heap -s //显示堆信息
    !heap -a 019e0000 //查看泄漏的堆信息
    !heap -flt s size //打印所有内存变量(有用)

    !address 打印内存信息(有用)
    Largest free region(最大可分配的内存块空间)

    ------------- windbg 中对其动态调试 示例 --------------------
    一. 查看初始的堆状态
    !heap -s

    二. 统计一下这个堆里的内存分配情况,发现 1000 字节的内存分配占了 86.97%,目标就锁定它了。
    !heap -stat -h 00230000
    size #blocks total ( %) (percent of total busy bytes)
    1000 158 - 158000 (86.97)

    三. 看一下都是哪些堆申请的
    !heap -flt s 1000

    四. 挑几个地址看一下调用栈
    !heap -p -a 0303aec0
    address 0303aec0 found in
    _HEAP @ 230000
    HEAP_ENTRY Size Prev Flags UserPtr UserSize - state
    0303aec0 0221 0000 [00] 0303aed8 01000 - (busy)
    7707dd6c ntdll!RtlAllocateHeap+0x00000274
    7541f947 KERNELBASE!FindNextFileW+0x00000090
    ...
    ...
    771a3c45 kernel32!BaseThreadInitThunk+0x0000000e
    770637f5 ntdll!__RtlUserThreadStart+0x00000070
    770637c8 ntdll!_RtlUserThreadStart+0x0000001b
    ---------------------------------------

    dt -s 4c -n DMS_Server!* //查找4c长度的结构体等
    dt -v DMS_Server!DataRow 376c4b58+8 //release头 +8

    ~*k 查看所有线程的堆栈


    //在vs中查看
    *(DataRow*)(0x18302b88)

    0:004> !address 0x0E41F420
    0e419000 : 0e419000 - 00007000
    Type 00020000 MEM_PRIVATE
    Protect 00000004 PAGE_READWRITE
    State 00001000 MEM_COMMIT
    Usage RegionUsageStack 栈
    Pid.Tid 554.b74

    0:004> !address 003f0000
    003f0000 : 003f0000 - 00010000
    Type 00020000 MEM_PRIVATE
    Protect 00000004 PAGE_READWRITE
    State 00001000 MEM_COMMIT
    Usage RegionUsageHeap 堆
    Handle 003f0000

  • 相关阅读:
    堆栈学习
    需要阅读的书籍
    Rust Book Lang Ch.19 Fully Qualified Syntax, Supertraits, Newtype Pattern, type aliases, never type, dynamic sized type
    Rust Lang Book Ch.19 Placeholder type, Default generic type parameter, operator overloading
    Rust Lang Book Ch.19 Unsafe
    Rust Lang Book Ch.18 Patterns and Matching
    Rust Lang Book Ch.17 OOP
    Rust Lang Book Ch.16 Concurrency
    Rust Lang Book Ch.15 Smart Pointers
    HDU3966-Aragorn's Story-树链剖分-点权
  • 原文地址:https://www.cnblogs.com/lidabo/p/3699147.html
Copyright © 2011-2022 走看看