!address 内存泄露查询

1:找到所有巨块内存,按照内存降序排序

!address
+ 2afef000 4da00000 22a11000 <unknown> 554M
+ 54389000 69d10000 15987000 <unknown> 345M
+ 69d85000 6e340000 45bb000 <unknown> 69M
+ 77d93000 7bf90000 41fd000 <unknown> 65M
+ 500dd000 53510000 3433000 <unknown> 52M
+ 7c0b1000 7ee70000 2dbf000 <unknown> 45M
+ 4da0e000 50080000 2672000 <unknown>
+ 713c0000 72ab0000 16f0000 <unknown>
+ 6eaf5000 6fff0000 14fb000 <unknown>


2: 找到哪里使用了巨块内存

0:243> s -d 0 l?-1 2afef000
2a020028 2afef000 000006b6 0000000f 00000000 ...*............


3: 查看使用了巨块内存的地方,那个位置的内存信息
!address 2a020028

Usage: Heap
Base Address: 2a020000
End Address: 2a0c3000
Region Size: 000a3000 ( 652.000 kB)
State: 00001000 MEM_COMMIT
Protect: 00000004 PAGE_READWRITE
Type: 00020000 MEM_PRIVATE
Allocation Base: 2a020000
Allocation Protect: 00000004 PAGE_READWRITE
More info: heap owning the address: !heap 0x1c20000
More info: heap segment
More info: heap entry containing the address: !heap -x 0x2a020028


4: 这是一个堆内存,看堆内存的信息位置

!heap -x 0x2a020028
Entry User Heap Segment Size PrevSize Unused Flags
-----------------------------------------------------------------------------
2a020000 2a020008 01c20000 2a020000 40 0 1 busy

 

5:符号解析
dps 2a020000
如果顺利的话,当前指令执行之后,会立刻解析出一批符号,
这批符号是针对当前内存地址的符号

posted @ 2020-09-23 16:14  穷到底  阅读(281)  评论(0编辑  收藏  举报