2017-08-04 147 views
1

我在進行內核調試時,無法在Windbg中獲取用戶模式斷點。我知道我必須在目標進程的上下文中設置用戶模式斷點,但這似乎仍然不可靠。有時候它是有效的,但是我無法把頭腦放在變量的東西上,有時它使得它變得有效,而不是其他變量。這是我正在做的。如何在內核調試時在Windbg中獲取用戶模式斷點?

1) !process <process> 0x17, then find a thread that I am curious 
    about. See that the thread is in mixed user/kernel callstack, 
    identify return address I want to break on. 

2) .process /r /p <process>, to change to the target process context 

3) .thread <thread>, to change to the thread identified in step (1) 

4) bp <addr>, to break on that particular address I care about 

5) g 

有時斷點擊中。有時它不會(除非我有證據表明線程已經返回)。這使得調試非常令人沮喪,因爲我從不知道事情是否會起作用。謝謝你的幫助。

編輯:這不是關於特定於線程的斷點,在我的示例中,我只更改了線程以接收調用堆棧,因爲callstack向我顯示了我需要打開的地址。實際上,只要地址被擊中,我就會打破。

回答

0

正在處理上下文有助於解密虛擬地址。

我不記得在上下文保證過程或線程特定的休息。

使用BP/P EPROCESS地址語法設置過程特定斷點

雖然我還沒有使用的I記得有線程特定基點witj BP /噸ETHREAD地址指的文檔

相關問題