Windbg <unclassified> memory Region </unclassified>

时间:2013-10-26 20:50:59

标签: windows memory windbg

我想确定实际eax寄存器指向[Stack或Heap]的位置。在下面的windbg out put!地址输出显示它未分类。

0:014> r
eax=01198ce8 ebx=00000000 ecx=01198bf8 edx=00000000 esi=01196ed8 edi=01198160
eip=0710a501 esp=01e8fdc8 ebp=01e8fe28 iopl=0         nv up ei pl nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=0038  gs=0000             efl=00000202
libmp4v2!MP4GetVideoProfileLevel+0x3bbb:
0710a501 e83eec0000      call    libmp4v2!MP4PrintVideoInfo+0xca2e (07119144)

0:014> d eax
01198ce8  76 69 64 65 00 04 38 00-04 00 02 00 cd 01 09 01  vide..8.........
01198cf8  47 50 41 43 20 49 53 4f-20 56 69 64 65 6f 20 48  GPAC ISO Video H
01198d08  61 6e 64 6c 65 72 00 00-0f 00 04 00 f1 01 08 01  andler..........
01198d18  e8 10 12 07 68 04 38 00-d8 6e 19 01 00 00 00 00  ....h.8..n......
01198d28  64 01 00 00 00 00 00 00-2c 1f 00 00 00 00 00 00  d.......,.......
01198d38  c0 1d 00 00 00 00 00 00-6d 69 6e 66 00 00 38 00  ........minf..8.
01198d48  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
01198d58  f0 86 19 01 ff 00 00 00-00 00 00 00 00 00 00 00  ................

0:014> !address eax


Failed to map Heaps (error 80004005)
Usage:                  <unclassified>
Allocation Base:        01130000
Base Address:           01130000
End Address:            011a1000
Region Size:            00071000
Type:                   00020000    MEM_PRIVATE
State:                  00001000    MEM_COMMIT
Protect:                00000004    PAGE_READWRITE

我想知道这意味着什么?

先谢谢,

1 个答案:

答案 0 :(得分:0)

对我而言,这听起来像是一个将MP4视频读入内存的应用程序。有几个指标:

  1. 在内存转储中,我们看到&#34; vide&#34; (视频)部分和&#34; minf&#34; (媒体信息)部分。也可能有&#34; soun&#34; (声音)稍后在MP4文件中。

  2. 调用堆栈说明了libmp4v2 DLL

  3. 关于<unclassified>(在较新版本的WinDbg中<unknown>),我看到以下潜在原因:

    1. 视频文件大于512 kB,因此通过Windows堆管理器的分配(例如来自C ++)不会被认为比直接调用VirtualAlloc()更有效。这是described by Sasha Goldshtein
    2. 内存由.NET分配,它有自己的堆管理器,构建在VirtualAlloc()之上。
    3. 另见SO:what does <unclassified> mean ?