安装完BoundsChecker后,在vs2003环境中使用:
测试如下代码:
int _tmain(int argc, _TCHAR* argv[])
{
while(1){
string *ss = new string("Hello Word\n");    /*内存泄露*/
cout<< *ss <<endl;
Sleep(1000);
}
}在BoundsChecker选择:[Start WithOut Debuging with Detection] 启动调试但是弹出错误:
错误描述如下:
Error:There was an error injecting the process. 
The error returned was:'WatchListErrorCoed = ErrorDoesNotExist'. 
Please contact suport for help 点确定在接着在弹出个错误:
错误描述如下:
An unexpected problem has occurred. 
if you choose to contact Compuware Technical Support about this problem ,please refer to the following information: 
[CRunManager::InjectNow() - BCAX::StartRcording()FAILED:hr = 0x80004005] 求高人解决,谢谢.

解决方案 »

  1.   

    要用BoundsChecker的菜单里的编译的
      

  2.   

    使用环境是:BoundsChecker 8.2版本 +VS2003使用时已选择了BoundsChecker的[Native C/C++ Instrumentation]选项
    编译完成时出现如下内容:
    正在链接...
    Compuware Linker Driver v8.2.0.290
    Copyright (c) 1997, 2006 Compuware Corporation. All rights reserved.
    这说明是打桩成功的.按F5直接执行,能运行都是查不出错误.
    选择[Start WithOut Debuging with Detection] 调试就出现上面所说的错误.
      

  3.   

    BoundsChecker 是不是 D 版的?我也遇到类似的问题,而且cpu还上到100%
    貌似是crack得有问题,功能一直用不起后来换到 BoundsChecker 7.2 就OK
      

  4.   

    哥们,我确实是用的D版的.
    你的7.2版本支持vs2003吗?
    你有D版下载地址没.
    不管了,去找找看.
      

  5.   

    安装好7.2版本了,但又有新问题了,就是能找到问题,但是不能转到定位到源文件:
    例如:
    如下内存泄露代码:
    int main(void)
    {
       {
          string *ss = new string("Hello Word\n");
        }
       return 0;
    }按F5执行,执行完毕:
    看到Memory Leaks 有内存泄露记录:
    Type Quantity Total (bytes) Allocation Location SequenceMemory Leak 53 9,455
    Leak exiting program 53 9,455 TestBoundCheck.exe ! 0x0002DEC1 但是如何定位到源文件中呢,最下面那块显示No source file .