我想确定实际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
我想知道这意味着什么?
先谢谢,
答案 0 :(得分:0)
对我而言,这听起来像是一个将MP4视频读入内存的应用程序。有几个指标:
在内存转储中,我们看到&#34; vide&#34; (视频)部分和&#34; minf&#34; (媒体信息)部分。也可能有&#34; soun&#34; (声音)稍后在MP4文件中。
调用堆栈说明了libmp4v2
DLL
关于<unclassified>
(在较新版本的WinDbg中<unknown>
),我看到以下潜在原因:
VirtualAlloc()
更有效。这是described by Sasha Goldshtein。VirtualAlloc()
之上。