WinDbg常用命令系列---!lmi
!lmi
!lmi 扩展显示某个模块的详细信息。
语法
!lmi Module
参数
- Module
- 用名字或者基地址指定一个已加载的模块。
DLL
Windows 2000 | Dbghelp.dll |
Windows XP和之后 | Dbghelp.dll |
注释
可以使用lm (List Loaded Modules)命令获得模块基地址。
!lmi 扩展分析模块头,并格式化显示它包含的摘要信息。如果模块头被页换出了,则显示一条错误信息。要查看更多头信息,使用!dh扩展命令。
该命令会显示很多具有不同标题的字段。某些标题有特殊的意义:
- Image Name字段显示可执行文件名,包括扩展名。一般来说,用户模式下会包含完整路径,而内核模式下不会。
- Module字段显示模块名。它通常是没有扩展名的文件名。但是有些情况下模块名和文件名会有显著的不同。详细信息,查看可执行映像路径。
- Symbol Type字段显示调试器会尝试用来加载该模块的符号的信息。各种状态值得说明,查看符号状态缩写。如果符号已经加载,则后面会跟符号的文件名。
- Base Address显示模块的首地址。Size显示模块大小。 因此,如果Base Address是"faab4000" 并且Size是"2000",则模块是在0xFAAB4000 到0xFAAB5FFF范围内。
下面是一个例子:
0:000> lm
start end module name
00400000 0042d000 Prymes C (pdb symbols) Prymes.pdb
77e80000 77f35000 KERNEL32 (export symbols) C:\WINNT\system32\KERNEL32.dll
77f80000 77ffb000 ntdll (export symbols) ntdll.dll
0:000> !lmi 00400000
Loaded Module Info: [00400000]
Module: Prymes
Base Address: 00400000
Image Name: Prymes.exe
Machine Type: 332 (I386)
Time Stamp: 3c76c346 Fri Feb 22 14:16:38 2002
Size: 2d000
CheckSum: 0
Characteristics: 230e stripped
Debug Data Dirs: Type Size VA Pointer
MISC 110, 0, 77a00 [Data not mapped]
Symbol Type: EXPORT - PDB not found
Load Report: export symbols
例子中的Characteristics行显示的缩写的说明,查看符号状态缩写。