首頁
社區(qū)
課程
招聘
windbg怎么下斷點(diǎn),觀察內(nèi)核態(tài)調(diào)用用戶態(tài)過程

如題:

 

假如有一個(gè)函數(shù),從用戶態(tài)進(jìn)入內(nèi)核態(tài),然后從內(nèi)核態(tài)調(diào)用了另外一個(gè)用戶態(tài)函數(shù)

 

如何跟蹤觀察,從內(nèi)核態(tài)的哪個(gè)地方調(diào)用了用戶態(tài)函數(shù)。
怎么下斷點(diǎn)觀察呢?

收藏
2條回答
為華 2022-11-27

用windbg

回復(fù)
Sonshines 2022-12-6

要在 WINDBG 中下斷點(diǎn),您可以使用 bp 命令。例如,如果您想為函數(shù) foo 設(shè)置斷點(diǎn),可以在 WINDBG 的命令提示符下輸入以下命令:

1
bp foo

如果您想為內(nèi)核態(tài)函數(shù)設(shè)置斷點(diǎn),可以在函數(shù)名前面加上 nt! 前綴。例如,如果您想為內(nèi)核態(tài)函數(shù) bar 設(shè)置斷點(diǎn),可以在 WINDBG 的命令提示符下輸入以下命令:

1
bp nt!bar

設(shè)置完斷點(diǎn)后,您可以使用 g 命令啟動(dòng)程序的執(zhí)行。當(dāng)程序執(zhí)行到斷點(diǎn)處時(shí),WINDBG 將暫停程序的執(zhí)行,并進(jìn)入交互式調(diào)試模式。您可以在交互式調(diào)試模式下使用 k 命令來查看調(diào)用堆棧,從而了解從內(nèi)核態(tài)調(diào)用用戶態(tài)函數(shù)的具體過程。

 

例如,如果您想查看從內(nèi)核態(tài)函數(shù) foo 調(diào)用用戶態(tài)函數(shù) bar 的過程,可以在 WINDBG 的命令提示符下輸入以下命令:

1
bp nt!foo
回復(fù)
windbg windows
  參與學(xué)習(xí)     人
  提問次數(shù)     100 個(gè)
0
我的提問
0
我的回答
0
學(xué)習(xí)收益