当前位置: 首页 > news >正文

东阳网站建设dyfwzx行业关键词查询

东阳网站建设dyfwzx,行业关键词查询,广州花都区,myfriv wordpress工具介绍 官网 http://www.linkdata.se/sourcecode/memwatch/ 其功能如下官网介绍#xff0c;挑选重点整理#xff1a; 1、 号称功能#xff1a; 内存泄露检测 #xff08;检测未释放内存#xff0c; 即 动态内存开辟未释放的情况#xff09; 2、 检测 多次调用free…工具介绍 官网 http://www.linkdata.se/sourcecode/memwatch/ 其功能如下官网介绍挑选重点整理 1、 号称功能 内存泄露检测 检测未释放内存 即 动态内存开辟未释放的情况 2、 检测 多次调用free 和 free 错误地址 3、 检测内存访问的 上越界 和 下越界 4、 检测对野指针进行的写操作 其他内存检测工具有 mtrace valgrind 参考 http://www.cnblogs.com/honglihua8688/p/3727944.html A memory leak detection tool. Basically, you add a header file to your souce code files, and compile with MEMWATCH defined or not. The header file MEMWATCH.H contains detailed instructions. This is a list of some of the features present in version 2.71: - ANSI C - Logging to file or user function using TRACE() macro - Fault tolerant, can repair it’s own data structures - Detects double-frees and erroneous free’s - Detects unfreed memory - Detects overflow and underflow to memory buffers - Can set maximum allowed memory to allocate, to stress-test app - ASSERT(expr) and VERIFY(expr) macros - Can detect wild pointer writes - Support for OS specific address validation to avoid GP’s (segmentation faults) - Collects allocation statistics on application, module or line level - Rudimentary support for threads (see FAQ for details) - Rudimentary support for C (disabled by default, use with care!) 工具使用 下载工具后 解压查看其中主要文件为      memwatch.h    memwatch.c    test.c     Makefile http://www.linkdata.se/downloads/sourcecode/memwatch/memwatch-2.71.tar.gz 直接执行make命令 则会报错 需要注释掉 最后一行 开发者想让使用者通过 test.c 熟悉注释 通过注释了解使用方法 /* Comment out the following line to compile. #error Hey! Dont just compile this program, read the comments first!*/ make ./test 则发现 此文件夹下多了一个log文件     memwatch.log -------------------------------------------------------------------------------------- 可见使用memwatch很方便 只需要将 memwatch.c 和memwatch.h移植到你的待检测程序代码中 通过makefile将 memwatch编译进去需要关注的是 编译时加上-DMEMWATCH -DMW_STDIO $(CC) -DMEMWATCH -DMW_STDIO test.c memwatch.c -o test   test.c demo test.c 代码如下 /* ** NOTE: Running this program in a Win32 or Unix environment ** will probably result in a segmentation fault or protection ** error. These errors may be caused by MEMWATCH when it is ** looking at memory to see if it owns it, or may be caused by ** the test program writing to memory it does not own. ** ** MEMWATCH has two functions called mwIsReadAddr() and ** mwIsSafeAddr(), which are system-specific. ** If they are implemented for your system, and works ** correctly, MEMWATCH will identify garbage pointers and ** avoid causing segmentation faults, GPs etc. ** ** If they are NOT implemented, count on getting the core ** dumped when running this test program! As of this writing, ** the safe-address checking has been implemented for Win32 ** and ANSI-C compliant systems. The ANSI-C checking traps ** SIGSEGV and uses setjmp/longjmp to resume processing. ** ** Note for Win95 users: The Win32 IsBadReadPtr() and its ** similar functions can return incorrect values. This has ** not happened under WinNT, though, just Win95. ** ** 991009 Johan Lindh ** */#include stdio.h #include signal.h #include memwatch.h#ifndef SIGSEGV #error SIGNAL.H does not define SIGSEGV; running this program WILL cause a core dump/crash! #endif#ifndef MEMWATCH #error You really, really dont want to run this without memwatch. Trust me. #endif#if !defined(MW_STDIO) !defined(MEMWATCH_STDIO) #error Define MW_STDIO and try again, please. #endifint main() {char *p;/* Collect stats on a line number basis */mwStatistics( 2 );/* Slows things down, but OK for this test prg *//* mwAutoCheck( 1 ); */TRACE(Hello world!\n);p malloc(210);free(p);p malloc(20);p malloc(200); /* causes unfreed error */p[-1] 0; /* causes underflow error */free(p);p malloc(100);p[ -(int)(sizeof(long)*8) ] -1; /* try to damage MWs heap chain */free( p ); /* should cause relink */mwSetAriFunc( mwAriHandler );ASSERT(12);mwLimit(1000000);mwNoMansLand( MW_NML_ALL );/* These may cause a general protection fault (segmentation fault) *//* Theyre here to help test the no-mans-land protection */if( mwIsSafeAddr(p50000,1) ) {TRACE(Killing byte at %p\n, p50000);*(p50000) 0;}if( mwIsSafeAddr(p30000,1) ) {TRACE(Killing byte at %p\n, p30000);*(p30000) 0;}if( mwIsSafeAddr(p1000,1) ) {TRACE(Killing byte at %p\n, p1000);*(p1000) 0;}if( mwIsSafeAddr(p-100,1) ) {TRACE(Killing byte at %p\n, p-100);*(p-100) 0;}/* This may cause a GP fault as well, since MW data buffers *//* have been damaged in the above killing spree */CHECK();p malloc(12000);p[-5] 1;p[-10] 2;p[-15] 3;p[-20] 4;/* This may cause a GP fault since MWs buffer list may have *//* been damaged by above killing, and it will try to repair it. */free(p);p realloc(p,10); /* causes realloc: freed from error *//* May cause GP since MW will inspect the memory to see if it owns it. */free( (void*)main );return 0; }/* Comment out the following line to compile. #error Hey! Dont just compile this program, read the comments first! */   memwatch.log内容 如下粗体字标注 有泄露检测结果 和 越界检测结果 MEMWATCH 2.71 Copyright (C) 1992-1999 Johan Lindh Started at Wed Jul 15 22:04:06 2015Modes: __STDC__ 64-bit mwDWORD(unsigned long) mwROUNDALLOC8 sizeof(mwData)32 mwDataSize32statistics: now collecting on a line basis Hello world! underflow: 5 test.c(62), 200 bytes allocd at 4 test.c(60) assert trap: 8 test.c(69), 12 assert trap: 8 IGNORED - execution continues limit: old limit none, new limit 1000000 bytes grabbed: all allowed memory to no-mans-land (976 kb) Killing byte at 0x84496f0 Killing byte at 0x84448d0 Killing byte at 0x843d788 Killing byte at 0x843d33c check: 8 test.c(95), checking chain alloc nomansland check: 8 test.c(95), complete; no errors internal: 10 test.c(105), checksum for MW-0x85331f8 is incorrect underflow: 10 test.c(105), 0 bytes allocd at 9 test.c(865) overflow: 10 test.c(105), 0 bytes allocd at 9 test.c(865) internal: 10 test.c(107), no-mans-land MW-0x85331f8 is corrupted realloc: 10 test.c(107), 0x8533220 was freed from test.c(105) WILD free: 11 test.c(110), unknown pointer 0x8048a3bStopped at Wed Jul 15 22:04:21 2015wild pointer: 11 no-mans-land memory hit at 0x84496f0 wild pointer: 11 no-mans-land memory hit at 0x84448d0 wild pointer: 11 no-mans-land memory hit at 0x843d788 dropped: all no-mans-land memory (976 kb) unfreed: 3 test.c(59), 20 bytes at 0x843d1d0 {FE FE FE FE FE FE FE FE FE FE FE FE FE FE FE FE ................}Memory usage statistics (global):N)umber of allocations made: 5L)argest memory usage : 12020T)otal of all alloc() calls: 12530U)nfreed bytes totals : 12020Memory usage statistics (detailed):Module/Line Number Largest Total Unfreed %s0 0 0 -100 64 0 0 0 -100 test.c 5 12120 12530 12120 865 0 0 0 0 97 1 12000 12000 12000 64 1 100 100 100 60 1 200 200 0 59 1 20 20 20 57 1 210 210 0
http://www.pierceye.com/news/301395/

相关文章:

  • 海珠免费网站建设php网站系统
  • 建设银行网站信息补充施工企业奖惩制度范本
  • 做拍卖网站多少钱办公室装修铺哪种地板
  • 国外网站有哪些平台网站系统建设需要什么资质
  • 做网站 就上凡科网做盗版网站会坐牢吗
  • 百事通网做网站做网站公众号多少钱
  • 影视作品网站开发与设计php做网站有哪些好处
  • 寻模板网站源码《基层建设》官方网站
  • 做网站龙岗深圳市网络seo推广平台
  • 公司资质查询官方网站网站建设开题报告
  • 桐城网站开发网站制作器手机版下载
  • 校友网站 建设网站开发都是使用框架吗
  • 手机网站字体大小规范优秀网站
  • 用动物做网站名称建设个人网站的策划书
  • 深圳网站开发公司宝网建设网站需要哪些素材
  • 网页设计需要学什么学历南宁seo服务公司
  • 网站开发学习未来做那个网站能致富
  • 建设厅科技中心网站免费网站怎么做出来的
  • 做一网站东莞网站建设
  • 电商网站建设需求网站开发培训排名
  • 厦门建设局网站城市建设郑州百度分公司
  • 长春火车站在哪广州冼村小学
  • 网站开发上海工资dedecms模板自适应
  • 湖北建设厅行政服务中心网站网络系统管理员工作内容
  • php 创建网站开发织梦网站后台打不开
  • 网站建设的企业html 网站
  • 山东省建设安全生产协会网站零基础学网站建设 知乎
  • 门户网站做等保需要备案哪些石家庄以岭药业股份有限公司招聘
  • 工信部网站备案方法红豆网桂林论坛
  • 开发网站年度工作总结及明年工作计划免费sem工具