WinDbg常用命令系列---顯示加載的模塊列表lm


lm (List Loaded Modules)

lm命令顯示指定的加載模塊。輸出包括模塊的狀態和路徑。

lmOptions [a Address] [m Pattern | M Pattern]

參數:

  • Options
    以下選項的任意組合:
    D----使用調試器標記語言顯示輸出。
    o---僅顯示加載的模塊。
    l---僅顯示其符號信息已加載的模塊。
    v---顯示詳細信息。 顯示所包括的符號文件名稱、 圖像文件名稱、 校驗和信息、 版本信息、 日期戳,時間戳和是否托管該模塊的信息代碼 (CLR)。 如果相關標頭缺失或分頁出未顯示此信息。
    u---(僅適用於內核模式)僅顯示用戶模式下符號的信息。
    k---(僅適用於內核模式)僅顯示內核模式下符號的信息。
    e---僅顯示有符號問題的模塊。這些符號包括沒有符號的模塊和符號狀態為C,T, #,M 或export的模塊。
    c---顯示校驗和
    lm---減少輸出,以便除了模塊的名稱之外不包含任何內容。如果使用.foreach標記將命令輸出管道化為另一個命令的輸入,則此選項非常有用。
    sm---按模塊名稱而不是起始地址對顯示進行排序。
    此外,您只能包含以下選項之一。如果不包括這些選項中的任何一個,則顯示將包括符號文件名。
    i---顯示的圖像文件名稱。
    f---顯示完整圖像路徑。(除非發出.reload-s命令,否則此路徑始終與初始加載通知中顯示的路徑匹配。)使用f時,不顯示符號類型信息。
    n---顯示jimage名稱。使用n時,不顯示符號類型信息。
    p---顯示映射的映像名稱。 當使用 p 時,不顯示符號的類型信息。
    t---顯示的文件時間戳。 當使用 t 時,不顯示符號的類型信息。
  • a Address
    指定此模塊中包含的地址。只顯示包含此地址的模塊。如果address包含表達式,則必須將其括在括號中。
  • m Pattern
    指定模塊名必須匹配的模式。模式可以包含各種通配符和說明符。在大多數情況下,模塊名是沒有文件擴展名的文件名。例如,如果要顯示有關flpydisk.sys驅動程序的信息,請使用lm mflpydisk命令,而不是lm mflpydisk.sys。在某些情況下,模塊名與文件名有很大不同。
  • M Pattern
    指定image路徑必須匹配的模式。模式可以包含各種通配符和說明符。

 

lm命令列出所有模塊以及每個模塊的符號狀態。Microsoft Windows Server 2003和更高版本的Windows維護用戶模式進程的卸載模塊列表。在調試用戶模式進程或轉儲文件時,lm命令還顯示這些已卸載的模塊。此命令顯示多個列或字段,每個列或字段具有不同的標題。其中一些標題具有特定含義:

  • 模塊名通常是沒有文件擴展名的文件名。在某些情況下,模塊名與文件名有很大不同。
  • 符號類型緊跟在模塊名稱之后。此列未標記。如果已加載符號,則符號文件名將跟隨此列。
  • 模塊中的第一個地址顯示為start。模塊結束后的第一個地址顯示為結束。例如,如果開始為“faab4000”,結束為“faab8000”,則模塊將從0xfaab4000擴展到0xfaab7fff(含)。
  • 僅限lmv:image path列顯示可執行文件的名稱,包括文件擴展名。通常,完整路徑包含在用戶模式中,但不包含在內核模式中。
  • 僅限LMV:加載的符號圖像文件值與圖像名稱相同,除非存在Microsoft代碼視圖符號。
  • 僅限lmv:通常不使用映射內存圖像文件值。如果調試器正在映射映像文件(例如,在小型轉儲調試期間),則此值是映射映像的名稱。
下面的代碼示例顯示了帶有Windows Server 2003目標計算機的lm命令。此示例包括m和s*選項,因此僅顯示以“s”開頭的模塊。
kd> lm m s*
start    end        module name
f9f73000 f9f7fd80   sysaudio     (deferred)                 
fa04b000 fa09b400   srv          (deferred)                 
faab7000 faac8500   sr           (deferred)                 
facac000 facbae00   serial       (deferred)                 
fb008000 fb00ba80   serenum      e:\mysymbols\SereEnum.pdb\.......
fb24f000 fb250000   swenum       (deferred)                 

Unloaded modules:
f9f53000 f9f61000   swmidi.sys
fb0ae000 fb0b0000   splitter.sys
fb040000 fb043000   Sfloppy.SYS

以下兩個示例顯示lm命令一次不帶任何選項,一次帶sm選項。比較兩個例子中的排序順序。

0:000> lm
start    end        module name
01000000 0100d000   stst       (deferred)
77c10000 77c68000   msvcrt     (deferred)
77dd0000 77e6b000   ADVAPI32   (deferred)
77e70000 77f01000   RPCRT4     (deferred)
7c800000 7c8f4000   kernel32   (deferred)
7c900000 7c9b0000   ntdll      (private pdb symbols) c:\db20sym\ntdll.pdb
0:000> lmsm
start    end        module name
77dd0000 77e6b000   ADVAPI32   (deferred)
7c800000 7c8f4000   kernel32   (deferred)
77c10000 77c68000   msvcrt     (deferred)
7c900000 7c9b0000   ntdll      (private pdb symbols)  c:\db20sym\ntdll.pdb
77e70000 77f01000   RPCRT4     (deferred)
01000000 0100d000   stst       (deferred)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM