NuMega BoundsChecker for Visual C++ V6.5是一款专为Visual C++设计的强大调试工具,主要用于检测和预防数组越界等内存问题,帮助开发者提高代码质量。
SmartCheck是一款用于检测资源泄漏及内存问题的工具,适用于C/C++组件但不包括Visual Basic代码中的这类问题。它能够监控OCX或DLL中显式调用内存分配API产生的泄露情况,也涵盖了GDI资源(如画刷、笔触和位图)的使用。
SmartCheck可以检测C/C++组件的对象泄漏,但在Visual Basic代码中无法做到这一点。此外,SmartCheck不追踪VB全局对象或调试对象;一些Visual Basic命令实际上属于这些对象的方法,并且不会被此版本的SmartCheck记录下来。
该工具支持所有内置和企业版中的Visual Basic控件以及采用IDispatch::Invoke与VB通信的第三方OCXs,但无法显示使用双重接口机制触发事件的控件或非控件OLE对象的行为。为了检查第三方组件,用户需要在高级设置中选择报告即使没有源代码的情况下的错误。
默认情况下,SmartCheck会过滤掉编程时并不显而易见的系统交互信息;若想查看这些底层细节,可以取消抑制C/C++和系统API及OLE方法调用选项,并使用特定事件视图菜单项来展示更多细节。此版本还提供对数据访问对象(如DAO)的支持,并允许通过启用专门针对此类操作的库文件以提高程序运行速度。
对于经过NuMega FailSafe工具处理过的代码,SmartCheck不会在出现错误时发出通知;但如果需要分析由FailSafe捕获到的异常,则可以在设置中开启相应选项。另外,在检测VB运行时错误期间,如果关键信息超出了16KB大小缓冲区范围外,那么该事件将无法被解析。
此外,对于经过BoundsChecker FinalCheck处理过的代码(仅限于Visual C++版本),用户需要重新链接以使用与BoundsChecker 5.03或更高版本一同发布的bcinterf.lib库文件。如果程序启动时表现得特别慢,则可以考虑替换SmartCheck默认配置文件DEFAULT.DAT,用其他特定编译器的替代版(如Microsoft、Borland等)来优化启动性能。
最后,文档中还列举了一些已知的问题和解决方案,并建议用户在遇到问题时参考微软知识库文章或联系技术支持获取最新服务包。