zoukankan      html  css  js  c++  java
  • 查找谁申请了这块内存

    我们有时候得某块内存地址,但不知道他是谁申请的。

    通过AppVerifier,我们可以得到stack trace。


    1. 设置Normal page heap。

    2. 在windbg里运行程序。

    3. 得到某个内存地址

    4. 查找Heap Block

    0:000> !heap -x 01b4b4a0
    Entry     User      Heap      Segment       Size  PrevSize  Unused    Flags
    -----------------------------------------------------------------------------
    01b4b478  01b4b480  01b40000  01b40640        40       160        16  busy extra

    5. User address是我们所感兴趣的。

    0:000> dt _DPH_BLOCK_INFORMATION 01b4b480 
    ntdll!_DPH_BLOCK_INFORMATION
       +0x000 StartStamp       : 0xabcdaaaa
       +0x004 Heap             : 0x81a41000
       +0x008 RequestedSize    : 2
       +0x00c ActualSize       : 0x2a
       +0x010 FreeQueue        : _LIST_ENTRY [ 0x27 - 0x0 ]
       +0x010 TraceIndex       : 0x27
       +0x018 StackTrace       : 0x00357288
       +0x01c EndStamp         : 0xdcbaaaaa
    6. 验证是否正确。RequestedSize == 2。

    7. 我们所感兴趣的是offset在0x18处的Stack Trace.

    8. 运行dds,得到strack trace

    0:000> dds 0x00357288
    00357288  abcdaaaa
    0035728c  00000001
    00357290  00000007
    00357294  00000001
    00357298  00000002
    0035729c  01a41000
    003572a0  00000000
    003572a4  003572a8
    003572a8  7c94b394 ntdll!RtlAllocateHeapSlowly+0x44
    003572ac  7c918f21 ntdll!RtlAllocateHeap+0xe64
    003572b0  0037fd2c vfbasics!AVrfpRtlAllocateHeap+0xb1
    003572b4  78583db8 MSVCR90!malloc+0x79 [f:\dd\vctools\crt_bld\self_x86\crt\src\malloc.c @ 163]
    003572b8  78583eb8 MSVCR90!operator new+0x1f [f:\dd\vctools\crt_bld\self_x86\crt\src\new.cpp @ 59]
    003572bc  00401007 HeapAllocation!wmain+0x7 [d:\codebase\cpp_demos\heapallocation\heapallocation.cpp @ 17]
    003572c0  7c817067 kernel32!BaseProcessStart+0x23

  • 相关阅读:
    截取nginx日志
    wampserver安装之后无法打开localhost
    wampserver安装之后无法打开localhost
    wampserver安装之后无法打开localhost
    wampserver安装之后无法打开localhost
    gitlab给用户添加提交到主干的权限
    动手为王 | Oracle 数据库跨版本升级迁移实践
    ie8关于@font-face无效的兼容问题
    web自定义中文字体
    django 前后台交互过程
  • 原文地址:https://www.cnblogs.com/xiaxi/p/1947115.html
Copyright © 2011-2022 走看看