BoundsChecker

BoundsChecker

BoundsChecker是一個運行時錯誤檢測工具,它主要定位程序運行時期發生的各種錯誤。它通過駐留在Visual C++開發環境內部的自動處理調試程序來加速應用程序的開發,縮短產品發布時間。

目錄

正文


BoundsChecker是一個運行時錯誤檢測工具,它主要定位程序運行時期發生的各種錯誤。它通過駐留在Visual C++開發環境內部的自動處理調試程序來加速應用程序的開發,縮短產品發布時間。BoundsChecker對於編程中的錯誤(大多數是C++中特有的)提供了清晰的詳細的分析。它能夠檢測和診斷出在靜態,堆棧內存中的錯誤以及內存和資源泄漏問題。在運行狀態下BoundsChecker驗證超過8700APIs和OLE方法,包括最新的Windows APIs,ODBCActiveXDirectX,COM和Internet APIs。
BoundsChecker採用一種被稱為Code Injection的技術,來截獲分配內存和釋放內存函數的調用。簡單的說,當你的程序開始運行時,BoundsChecker的DLL被自動載入進程的地址空間,然後它會修改進程中分配和釋放內存的函數的調用,讓這些調用首先轉入它的代碼。BoundsChecker在做這些動作時,無需修改被調試程序的源代碼或工程配置文件,這使得它使用非常的簡便、直接。
程序員在開發過程中可能會經常遇到這樣的問題:調試時語法沒有問題,代碼也沒有錯誤,但程序運行就是不正常甚至死機,其實這有可能是邏輯錯誤引起的內存溢出或資源泄露等問題。這些錯誤一般是不容易檢測出來的。而這些錯誤就是BoundsChecker錯誤檢測之一。
通過對被測程序的操作,BoundsChecker提供詳細的,清晰的錯誤分析;自動查明靜態的堆棧錯誤及內存、資源泄漏,並且能夠迅速定位出錯的源代碼,即使在沒有源代碼的情況下也能檢查第三方組件的錯誤。
BoundsChecker能檢測的錯誤包括:
(1)指針操作和內存、資源泄漏錯誤
比如:內存泄露;資源泄漏;對指針的錯誤操作。
(2)內存操作方面的錯誤
比如:內存讀、寫溢出;使用為初始化的內存。
(3)API函數使用錯誤
版本歷史:
10.5 - 2011年2月 - 支持Windows Vista x64及更高版本上的64位應用程序。
10.0 - 2010年4月 - 支持visual studio 2010。
9.1 - 2009年10月 - 支持Windows 7。
9.0 - 2008年9月 - 支持Visual Studios 2005 & 2008。
8.2 - 2007年5月 - 最新版本完全的支持 Visual Studio 6.0 and Visual Studio .NET 2003
5.0 - 1997年3月。
4.0 - 1996年 - 引入API驗證功能。
2.0 for DOS - 1991年3月。