Windbg指令碼和擴充套件工具開篇

2021-09-20 12:25:54 字數 802 閱讀 5229

好長一段時間沒寫文章了,最近一直忙於為專案的可調式性做一些指令碼和擴充套件工具,鑑於對windbg強大威力的震撼,以及相對較少的資料,筆者決定寫一系列關於如何開發windbg指令碼和擴充套件命令的文章,您的支援是我最大的動力,希望本系列文章對您有所幫助。

那麼乙個完整的windbg script是什麼樣子的呢?首先讓我們看如下示例:

$$ 該指令碼是列出使用者程序和棧

r $t0 = nt!psactiveprocesshead 

.for (r $t1 = poi(@$t0); (@$t1 != 0) & (@$t1 != @$t0); r $t1 = poi(@$t1)) 

相對於windbg指令碼,windbg擴充套件比較複雜,而且通常需要花費更大的精力寫出同樣的功能,但是它帶來的乙個好處就是你可以獲得更多的功能,你甚至可以通過這些擴充套件寫乙個偵錯程式,那麼乙個完整的windbg擴充套件又是什麼樣子的呢?該擴充套件dll列印出乙個全域性字串的值。

以c++語言編寫的windbg擴充套件示例:

hresult callback 

printptr(pdebug_client pdebugclient, pcstr args)

}

pdebugdataspaces->release();

}pdebugsymbols->release();}}

return s_ok;

}

總結

基於筆者的研究發現,國內做相關研究的人並不多,其實國外也就幾個業內比較牛的人做的相對比較好,但是這些工具的作用足以讓你震撼,今天開個頭,有興趣的朋友可以繼續關注後續文章。

Windbg指令碼和擴充套件工具開篇

好長一段時間沒寫文章了,最近一直忙於為專案的可調式性做一些指令碼和擴充套件工具,鑑於對windbg強大威力的震撼,以及相對較少的資料,筆者決定寫一系列關於如何開發windbg指令碼和擴充套件命令的文章,您的支援是我最大的動力,希望本系列文章對您有所幫助。那麼乙個完整的windbg script是什麼...

Windbg指令碼和擴充套件工具開篇

好長一段時間沒寫文章了,最近一直忙於為專案的可調式性做一些指令碼和擴充套件工具,鑑於對windbg強大威力的震撼,以及相對較少的資料,筆者決定寫一系列關於如何開發windbg指令碼和擴充套件命令的文章,您的支援是我最大的動力,希望本系列文章對您有所幫助。那麼乙個完整的windbg script是什麼...

SQL Server可寫指令碼和程式設計擴充套件SSIS包

微軟的sql server 2005中用來替代資料傳輸服務 dts 的sql server綜合服務 ssis 包含了很多任務具用於匯入資料並將其轉換為有意義的資訊,而不僅僅是被動的匯入。但是還有一點要注意的是,你會發現這個新的ssis工具有時候並不能完全覆蓋你要做的所有事情。因此,微軟提供了兩種基本...