Parasoft Insure ++是一款面向C / C ++软件开发人员的综合内存调试工具,可用于查找以下问题:
- 内存泄漏(根据其原因进行识别和分类)
- 记忆滥用
- 缓冲区溢出/下溢
- 指针滥用
- 导致可能未定义的行为或实现定义的行为的许多其他原因。
Insure ++使用最先进的代码解析器以及数百种启发式方法来分析应用程序代码,在此期间它会报告几种可能的静态违规。在分析代码时,它会编写一个新的源代码文件,并在“故障点”(例如指针取消引用,范围退出等)中插入适当的工具,并自动编译生成的源文件,并链接所有生成的目标代码文件进入一个新的可执行程序。
然后,用户执行此程序作为用例测试的一部分,就像使用原始程序一样,Insure ++会报告发现的任何问题。Insure ++报告包含详细信息,包括:关于错误类型,源文件和行号,实际源代码行内容,导致问题的表达,报告包括:
- bug的类型,(例如EXPR_UNRELATED_PTRCMP)
- 源文件和行号,(例如foo.cc:42)
-
实际的源代码行内容,(例如“while(p
-
引起问题的表达方式(例如“p
-
有关bug中涉及的所有指针和内存块的信息:
- 指针值
- 指向的内存块(如果有)和任何偏移量
-
块分配信息:
- 如果动态分配则堆栈跟踪。
- 块声明位置(源文件和行号),如果在堆栈上或全局分配。
- 如果适用,堆栈跟踪块的重新分配。
- 堆栈跟踪显示程序如何到达bug位置。