![](/img/trans.png)
[英]how to get memory address of kernel32.dll!BaseThreadStartThunk?
[英]In windbg, How to set breakpoint on all functions in kernel32.dll?
我想在example.DLL
的函數example()
中弄清楚調用序列和函數kernel32.dll。
在windbg中,如何在kernel32.dll中的所有函數上設置斷點?
我試過bm kernel32!*
,但似乎不行。
我不會像上述那樣做。 當然有可能,但如果用bm /a kernel32!*
完成,你無意中也會在數據符號上設置bps(而不是實際函數)。 在您的情況下, wt
- trace和監視數據(您可以在隨windbg包提供的debugger.chm中查找)可能就是您所追求的。
在某些低級內核服務DLL調用中設置斷點可能會導致應用程序異常。
您可以使用rohitab的API監視器來觀察其DLL調用,然后在您有趣的調用上設置斷點。
Kernel32是一個使用頻繁的DLL - 你可能會發現打破每個函數都太吵了。 你也不需要打破每個kernel32函數,只需要輸出它們。
如果我是你,我會運行“link / dump / exports kernel32.dll”,將輸出寫入文件,然后編寫一個簡單的腳本來獲取函數名稱並寫出“bp kernel32!” +新文件的函數名稱。 然后,只需將該文件的內容粘貼到windbg命令窗口即可。
使用調試器中的腳本支持可能有一種簡單的方法來執行此操作,但是您可以在更短的時間內通過調試器腳本來學習如何執行此操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.