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行显示的缩写的说明,查看符号状态缩写。

posted on 2020-06-05 08:23  活着的虫子  阅读(1084)  评论(0编辑  收藏  举报

导航