设为首页 加入收藏

TOP

C++检查内存泄露(二)
2013-04-24 12:13:36 来源: 作者: 【 】 浏览:747
Tags:检查 内存 泄露

 

  private:

  char* file;

  int line;

  };

  当然,也可以用函数来返回char*指针

  [cpp]

  int g_count = 0;

  class OperNew

  {

  public:

  OperNew()

  {

  g_count ++;

  pC = new char[20];

  memset(pC, 0, 10);

  sprintf(pC, "No.%d", g_count);

  }

  char* GetChar()

  {

  return pC;

  }

  private:

  char * pC ;

  };

  这样就能返回自定义的内容了。本次的返回加上了一个构造时候的序号,当然也可以添加时间等。结果如下:

  e:\project\test\test_mem_leak\test_mem_leak\test_mem_leak.cpp(95) : 11 (95) : {123} normal block at 0x002B4C78, 400 bytes long.

  Data: <                > CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD CD

  e:\project\test\test_mem_leak\test_mem_leak\test_mem_leak.cpp(92) : 10 (92) : {122} normal block at 0x002B4C30, 9 bytes long.

  Data: <         > CD CD CD CD CD CD CD CD CD

  e:\project\test\test_mem_leak\test_mem_leak\test_mem_leak.cpp(92) : 9 (92) : {121} normal block at 0x002B4BE8, 8 bytes long.

  Data: <        > CD CD CD CD CD CD CD CD

  e:\project\test\test_mem_leak\test_mem_leak\test_mem_leak.cpp(92) : 8 (92) : {120} normal block at 0x002B9F88, 7 bytes long.

  Data: <       > CD CD CD CD CD CD CD

  e:\project\test\test_mem_leak\test_mem_leak\test_mem_leak.cpp(92) : 7 (92) : {119} normal block at 0x002B9F40, 6 bytes long.

  Data: <      > CD CD CD CD CD CD

  e:\project\test\test_mem_leak\test_mem_leak\test_mem_leak.cpp(92) : 6 (92) : {118} normal block at 0x002B9EF8, 5 bytes long.

  Data: <     > CD CD CD CD CD

  e:\project\test\test_mem_leak\test_mem_leak\test_mem_leak.cpp(92) : 5 (92) : {117} normal block at 0x002B9EB8, 4 bytes long.

  Data: <    > CD CD CD CD

  e:\project\test\test_mem_leak\test_mem_leak\test_mem_leak.cpp(92) : 4 (92) : {116} normal block at 0x002B9E78, 3 bytes long.

  Data: <   > CD CD CD

  e:\project\test\test_mem_leak\test_mem_leak\test_mem_leak.cpp(92) : 3 (92) : {115} normal block at 0x002B9E38, 2 bytes long.

  Data: <  > CD CD

  e:\project\test\test_mem_leak\test_mem_leak\test_mem_leak.cpp(92) : 2 (92) : {114} normal block at 0x002B9DF8, 1 bytes long.

  Data: < > CD

  e:\project\test\test_mem_leak\test_mem_leak\test_mem_leak.cpp(92) : 1 (92) : {113} normal block at 0x002B9DB8, 0 bytes long.

  Data: <> h鴌

  e:\project\test\test_mem_leak\test_mem_leak\test_mem_leak.cpp(88) : 0 (88) : {112} normal block at 0x002B9D50, 40 bytes long.

  Data: <0L+             > 30 4C 2B 00 CD CD CD CD CD CD CD CD CD CD CD CD

  Object dump complete.

  程序"[8796] test_MEM_LEAK.exe: 本机"已退出,返回值为 -1073741510 (0xc000013a)。

  小提示:

  将输出文件拷贝到UE中,然后查找泄露行号出现的次数,可以计算出泄露的数目。

      

首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇JNI对HAL的封装 下一篇A Bug's Life ..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: