C++ C++;查找指针错误
我目前在一个项目上,这个项目已经有很长一段时间有问题了,现在我怀疑代码中有指针错误C++ C++;查找指针错误,c++,windows,debugging,com,pointers,C++,Windows,Debugging,Com,Pointers,我目前在一个项目上,这个项目已经有很长一段时间有问题了,现在我怀疑代码中有指针错误 程序是用COM用C++编写的,使用进程外的COM服务器。p> 有谁能给我一些提示,告诉我如何找到这些错误 有没有具体的事情要记在心上,有没有具体的方法等等。这是一个非常广泛的话题 您可以做的最好的事情是使用一个检测和跟踪平台,该平台允许您查看所有分配、内存泄漏和内存损坏,但根据项目的大小和构建系统的复杂性,这可能非常难以设置和耗时 您还可以插入自定义分配和解除分配代码(以microsoft的debug_new(我
程序是用COM用C++编写的,使用进程外的COM服务器。p> 有谁能给我一些提示,告诉我如何找到这些错误
有没有具体的事情要记在心上,有没有具体的方法等等。这是一个非常广泛的话题 您可以做的最好的事情是使用一个检测和跟踪平台,该平台允许您查看所有分配、内存泄漏和内存损坏,但根据项目的大小和构建系统的复杂性,这可能非常难以设置和耗时 您还可以插入自定义分配和解除分配代码(以microsoft的debug_new(我认为)为例)
对于特定于COM的跟踪,我不确定是否有现成的解决方案。如果使用ATL,您可以插入/替换/扩展智能指针类(如CComPtr)用你自己的。你可以尝试使用像AQTime、DevPartner或IBM Rational Purify这样的内存分析器。我认为还有很多其他的。我有几个建议:
ArpanBoundsChecker有一个名为Wait for Process的运行时模式。这允许您让BC等待DLLHOST进程启动,并在进程启动时附加BC core。对于指针错误,您将使用BC的最终检查模式。这意味着您添加编译时本机插装,如果插装,可能会非常慢R整个应用程序,但如果你只对你的COM服务器和它的依赖性进行测试,那将是非常有效的。请在MF开发者下面查看关于二月初DPS 10.5发布的消息。免责声明,我在DevPartner团队工作,所以把这个看作是我的无耻插件。我们的10.5版本和64位支持的意图是确保我们Cou.LD处理纯C++ X64应用程序,混合.NET应用程序第二,纯.NET应用程序最后在BC下。套件中的其他配置程序以纯.NET最前行的方式。希望您能找到10.5个适合您的DEV环境和故障排除需求。< /P>什么类型的“指针错误”?