是否有任何工具可以检测Visual C ++ 6.0上的缓冲区溢出?

时间:2009-04-23 20:03:20

标签: c++ visual-c++

由于堆问题我一直遇到崩溃问题,所以我猜某个地方正在发生缓冲区溢出。我如何检测它?

4 个答案:

答案 0 :(得分:3)

我使用Compuware BoundsChecker作为VC6中错误检测的工具。它可以拾取缓冲区溢出。

您还可以尝试使用PageHeap这个Windows工具。

答案 1 :(得分:1)

我使用Rational Purify

答案 2 :(得分:1)

您可以使用VC调试堆:http://msdn.microsoft.com/en-us/library/974tc9t1.aspx

VC6中也支持大多数(如果不是全部)crtdbg.h中的东西。

答案 3 :(得分:0)

在一些地方简单地插入_heapchk()Windows API函数并捕获错误(在我的情况下对数组的索引-1的访问)时,我得到了很好的结果。