windbg中memory查詢以及寫到檔案

2021-06-27 11:11:35 字數 607 閱讀 9302

在debug driver時,我們經常需要用到kernel debug來抓取log,但是如果沒有kernel debug,如何來抓取debug log呢?

方法之一就是將log寫到記憶體,在bsod時,抓取kerenl memory dump檔案進行分析,這裡記錄下這兩個命令,用來查詢記憶體塊,寫記憶體到檔案。

1,!poolfind tag

2,.writemem filename range

舉例說明下吧,譬如在driver中,用exallocatepoolwithtag分配了一段0x1000長度的記憶體,tag為「tset",則在windbg視窗可以通過

!poolfind test 來找到這段記憶體塊,會顯示起始位址和長度資訊,假設是0xf0000000,長度為0x1000。

*f0000000 :large page allocation, tag  is test, size  is 0x1000 bytes

.writemem c:\test.log 0x20000000 l1000

則會將上述長度的記憶體寫到檔案c:\test.log中,可以直接檢視log的內容了。

具體cmd可以參考:

!poolfind

.writemem

WinCE OAL中的Memory函式介紹

在bsp開發中經常會用到實體地址與虛擬位址的轉換,一般都是基於實體地址獲得相應的虛擬位址來訪問硬體。在wince6.0中,可以在wince600 platform common src inc oal memory.h檔案中找到相關的操作函式,這些函式用來虛擬位址與實體地址之間的轉換,它們都是基於o...

WinCE OAL中的Memory函式介紹

在 bsp開發中經常會用到實體地址與虛擬位址的轉換,一般都是基於實體地址獲得相應的虛擬位址來訪問硬體。在 wince6.0 中,可以在 wince600 platform common src inc oal memory.h 檔案中找到相關的操作函式,這些函式用來虛擬位址與實體地址之間的轉換,它們...

WinCE OAL中的Memory函式介紹

在bsp開發中經常會用到實體地址與虛擬位址的轉換,一般都是基於實體地址獲得相應的虛擬位址來訪問硬體。在wince6.0中,可以在wince600 platform common src inc oal memory.h檔案中找到相關的操作函式,這些函式用來虛擬位址與實體地址之間的轉換,它們都是基於o...