windows - Windbg <未分类> 内存区域

标签 windows memory windbg

我想确定 eax 寄存器实际指向 [Stack 或 Heap] 的位置。在下面的 windbg out put !address 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

我想知道这是什么意思??

提前致谢

最佳答案

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

  1. 在内存转储中,我们看到一个“vide”(视频)部分和一个“minf”(媒体信息)部分。 MP4文件后面也可能有“soun”(声音)。

  2. 调用栈说明了关于 libmp4v2 的一些事情动态链接库

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

  1. 视频文件大于 512 kB,因此通过 Windows 堆管理器进行分配(例如从 C++ 分配)并不被认为比直接调用 VirtualAlloc() 更有效。 .这是 described by Sasha Goldshtein .
  2. 内存由 .NET 分配,它有自己的堆管理器,构建在 VirtualAlloc() 之上.

另见 SO:what does <unclassified> mean ?

关于windows - Windbg <未分类> 内存区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19611757/

相关文章:

windows - 是否有与 linux 命令 "perf stat"等效的 Windows?

windows - 从命令行使用schtasks,什么参数将计算机从 sleep 中唤醒并执行任务

windows - 每次在 Windows 8/10 上调用静态链接函数都会崩溃,但在 Windows 7 上不会

asp.net - ASP.NET 是否限制单个对象的内存使用? 256MB 字节数组抛出 OutOfMemoryException

c++ - 如何返回所有可访问内存位置的地址?

windows - 批量合并 CSV 删除 header

c - 如何通过宏在两个空指针之间复制内存?

windbg - 如何显示当前内核模式上下文的用户模式堆栈?

c++ - WinAPI 函数 Hook 以捕获网络

debugging - windbg.exe : Failed to load data access DLL, 0x80004005