在代码实现过程中,通常我们使用Debug工具进行调试,而Debug只能进行静态的调试,而应用程序在运行状态下的错误我们却不得而知。Compuware 的Numega系列能够通过执行应用程序找到程序的run-time错误,在这里主要使用插装的方式来获取相应的数据,如果有源代码可以定位到代码行,其中包括对第三方的检查。
这些工具包括:
BoundsChecker
程序员在开发过程中可能会经常遇到这样的问题:调试时语法没有问题,代码也没有错误,但应用程序运行就是不正常甚至死机,其实这有可能是由于逻辑错误引起的内存溢出或资源泄露等问题,这些错误一般是不容易被检测出来的。而这类错误就是BoundsChecker错误检测范围之一。
通过对被测应用程序的操作,BoundsChecker提供清晰的、详细的程序错误分析,自动查明静态的堆栈错误及内存/资源泄露,并能够迅速的定位出错的源代码,即使在没有源代码的情况下也可检查第三方组件的错误。
BoundsChecker错误检测范围主要包括:
1).指针和泄露错误
接口泄露
内存泄露
资源泄露
未分配的指针错误
2).内存错误
动态存储溢出
无效的句柄被锁定
句柄没有被锁定
内存分配冲突
栈空间溢出
静态存储溢出
3).API和OLE错误
API函数返回失败
API函数未执行
无效的变量(包括指针变量、字符串变量等)
OLE接口方法的变量无效
OLE接口方法失败
线程调用库函数错误
BoundsChecker支持的语言和主机平台:
C++, Delphi
Windows NT, Windows95/98/2000
TrueCoverage
在开发过程中,对一个应用程序通过手工测试,总会有一部分代码功能没有被检测到,或者说逐个检测每一个函数的调用是相当费时间的;未被检测的代码我们不能保证它的可靠性,以后程序的失败可能往往就是由这部分未检测的代码造成的。现在我们可以用TrueCoverage来帮助我们解决这些问题,我们在测试程序时,每完成一次应用session,TrueCoverage就能够列出在这次对话中所有函数被调用次数、所占比率等,并可以直接定位到源代码,当然我们也可以合并多个应用session来进行检测。TrueCoverage能通过衡量和跟踪代码执行及代码稳定性,帮助开发团队节省时间和改善代码可靠性。
TrueCoverage支持的语言和主机平台
C++, JAVA, Visual Basic
Windows NT, Windows95/98/2000
TrueTime
代码运行效率是开发过程中一个重要问题。一个应用程序运行速度较慢,程序员不容易找到到底是在哪里出现了问题,如果不能解决应用程序的性能将降低并极大的影响应用程序的质量,于是查找和修改性能瓶颈是调整整个代码性能的关键。如何快速的查找性能瓶颈呢?在测试程序时,每完成一次应用session,TrueTime都能提供这次对话中函数的调用时间,提供详细的应用程序和组件性能的分析,并自动定位到运行缓慢的代码。这样就能帮助程序员尽快地调整应用程序的性能。
TrueTime支持的语言和主机平台
C++, JAVA, Visual Basic
Windows NT, Windows95/98/2000
SmartCheck
在开发过程中,对一个应用程序通过手工测试,总会有一部分代码功能没有被检测到,或者说逐个检测每一个函数的调用是相当费时间的;未被检测的代码我们不能保证它的可靠性,以后程序的失败可能往往就是由这部分未检测的代码造成的。现在我们可以用TrueCoverage来帮助我们解决这些问题,我们在测试程序时,每完成一次应用session,TrueCoverage就能够列出在这次对话中所有函数被调用次数、所占比率等,并可以直接定位到源代码,当然我们也可以合并多个应用session来进行检测。TrueCoverage能通过衡量和跟踪代码执行及代码稳定性,帮助开发团队节省时间和改善代码可靠性。
SmartCheck 支持的语言和主机平台:
Visual Basic
Windows NT, Windows95/98/2000
FailSafe
FailSafe是用于Visual Basic开发的一个自动错误处理和恢复系统。VB开发人员经常能够遇到程序执行时意外地终止,但是对于为什麽出现错误只提供了简短的、模糊的出错信息,使开发人员不能方便地发现错误的根源。如果使用了FailSafe,它将插入额外的代码对你的程序进行插装,当程序执行时,FailSafe通过这些插装的代码捕获、记录执行时程序和系统的重要信息,直接指出错误发生时程序和系统的状态,这些丰富的信息使开发人员能够快速且正确的解决问题。
FailSafe 支持的语言和主机平台:
Visual Basic
Windows NT, Windows95/98/2000
TrueCoverage
在开发过程中,对一个应用程序通过手工测试,总会有一部分代码功能没有被检测到,或者说逐个检测每一个函数的调用是相当费时间的;未被检测的代码我们不能保证它的可靠性,以后程序的失败可能往往就是由这部分未检测的代码造成的。现在我们可以用TrueCoverage来帮助我们解决这些问题,我们在测试程序时,每完成一次应用session,TrueCoverage就能够列出在这次对话中所有函数被调用次数、所占比率等,并可以直接定位到源代码,当然我们也可以合并多个应用session来进行检测。TrueCoverage能通过衡量和跟踪代码执行及代码稳定性,帮助开发团队节省时间和改善代码可靠性。
TrueCoverage支持的语言和主机平台
C++, JAVA, Visual Basic
Windows NT, Windows95/98/2000
CodeReview
对于Visual Basic开发人员来说,CodeReview是最好的自动源代码分析工具,它对应用程序的组件、逻辑、Windows和Vb自身潜在的数百个问题进行严格地源代码检查。CodeReview分析的类型包括Y2K问题,逻辑错误,应用程序性能和可用性问题,Windows API调用和标准一致性问题等。CodeReview可以检测整个的VB工程或指定的模块,并能定制检错的种类;对检测的结果有详细的说明,提供帮助和推荐解决方案,而且能够直接的链接到源代码。CodeReview系统还提供了两个子模块,一个是Metrics:通过对VB工程(vbp)的执行,计算出代码的长度、复杂度、理解度、语言的使用等级、出错的可能性等数据;另一个是Namer:它调用一个VB工程,自动并规则地对其中的对象重新命名,并备份原来没有规则命名的工程文件,使开发人员对程序能够有条理地管理。
可以这麽说:CodeReview是Visual Basic开发人员必不可少的顾问。
CodeReview 支持的语言和主机平台:
Visual Basic
Windows NT, Windows95/98/2000
JCheck
JCheck对于Java开发人员来说是一个功能强大的图形化的线程和事件分析工具,它提供了一个生动的图形化的方法来表现程序的线程的状态信息以及和Windows线程、同步对象、线程组等的交互作用信息,使开发人员能够直观地分析Java Applet或Application:通过这些形象化的图形显示,可以确定runtime错误,对执行和逻辑错误进行分析,立刻发现线程问题如死锁、活锁、资源缺乏和系统失败,诊断线程同步和时间选择问题,分析程序执行流程;而后JCheck对于那些错误可以定位和显示详细的信息并能定位到源代码。Jcheck极大地减少了程序的调试时间,改善了软件开发生产力。
JCheck 支持的语言和主机平台:
Microsoft Visual J++
Windows NT, Windows95/98/2000