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

  • 相关阅读:
    内置函数(十)
    常用命令
    函数式编程(九)——map,filter,reduce
    函数(八)-函数和匿名函数
    设计模式(十三)——观察者模式
    Confluence 6 重要缓存和监控
    Confluence 6 数据中心的缓存
    Confluence 6 配置文件和key
    Confluence 6 缓存性能示例
    Confluence 6 缓存性能优化
  • 原文地址:https://www.cnblogs.com/yilang/p/12972450.html
Copyright © 2020-2023  润新知