北大青鸟郑州志远荣获2008年度市场开拓奖
3/6 上一条 下一条
当前位置:主页>LINUX>linux实用技巧用valgrind做内存检查(内存泄露等)

linux实用技巧用valgrind做内存检查(内存泄露等)

来源: 作者: 发布时间:2007-10-09

==4270==
==4270== Invalid write of size 1
==4270== at 0x400619C: strcpy (mc_replace_strmem.c:271)
==4270== by 0x80483DB: main (test.c:8)
==4270== Address 0x4023033 is 1 bytes after a block of size 10 alloc'd
==4270== at 0x40044F6: malloc (vg_replace_malloc.c:149)
==4270== by 0x80483C5: main (test.c:7)
==4270==
==4270== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 12 from 1)
==4270== malloc/free: in use at exit: 10 bytes in 1 blocks.
==4270== malloc/free: 1 allocs, 0 frees, 10 bytes allocated.
==4270== For counts of detected errors, rerun with: -v
==4270== searching for pointers to 1 not-freed blocks.
==4270== checked 51,496 bytes.
==4270==
==4270==
==4270== 10 bytes in 1 blocks are definitely lost in loss record 1 of 1
==4270== at 0x40044F6: malloc (vg_replace_malloc.c:149)
==4270== by 0x80483C5: main (test.c:7)
==4270==
==4270== LEAK SUMMARY:
==4270== definitely lost: 10 bytes in 1 blocks.
==4270== possibly lost: 0 bytes in 0 blocks.
==4270== still reachable: 0 bytes in 0 blocks.
==4270== suppressed: 0 bytes in 0 blocks.
==4270== Reachable blocks (those to which a pointer was found) are not shown.
==4270== To see them, rerun with: --show-reachable=yes

从这份报告可以看出,进程号是4270,test.c的第8行写内存越界了,引起写内存越界的是strcpy函数,
第7行泄漏了10个字节的内存,引起内存泄漏的是malloc函数。

例子二(test2.c)

#include <stdio.h>

int foo(int x)
{
if (x < 0) {
printf("%d ", x);
}

return 0;
}

int main(int argc, char *argv[])
{
int x;

foo(x);

return 0;
}


编译程序

gcc -g -o test2 test2.c

用valgrind做内存检查

valgrind --tool=memcheck ./test2

输出报告如下

==4285== Memcheck, a memory error detector.
==4285== Copyright (C) 2002-2006, and GNU GPL'd, by Julian Seward et al.
共5页: 上一页 [1] [2] [3] 4 [5] 下一页


上一篇:Linux下软件安装方法经验总结   下一篇:河南及其它省的网通用户redhat fedora core 5上网的方法
如果你想咨询课程、学费、就业、开班等情况!请拨打我们的咨询热线0371-66252525 或者点击QQ右侧的图标与我们在线老师咨询!

热点新闻

开班信息

班级 类型 状态
YS113 周末班 热招
TS137 专修班 热招
YS112 周末班 热招
TS136 专修班 余7座
YS111 周末班 余4座
TS135 专修班 余1座
TS134 专修班 已满

免费讲座

时间: 1月11日(本周日)14:00 内容:"黑客攻防"         "专家讲解职业规划" 抢座热线:0371-66252525 电话抢座    名额有限
北大青鸟就业案例
徐保金
学      历:大专
就职单位:金业集团
岗      位:网络工程师
    我是一名07年普通大专毕业的学生,毕业后心里很不踏实,对自己的前... >>详情

北大青鸟讲师
于江
毕业学校:天津大学
专      业:工学硕士
教学理念:晓之以理,动之以情,导之以行,持之以恒... >>详情

青鸟大事

人民日报、光明日报、中国青年报、中国计算机报等几十家媒体对公司进行了多方面的报道。
自成立以来,北大青鸟APTECH先后赢得了“中国IT公众认知企业金奖”、“本土最具知名度认证奖”、“最佳就业认同奖”、 “质量放心用户满意双优品牌”等数十个奖项;
2007年市场占有率达到38.6%(数据来源:IDC报告),成为中国IT职业培训领域不折不扣的领导品牌。
北大青鸟APTECH凭借自身的卓越表现,自2001年至2007年,已连续7年实现全国市场排名第一。
北大青鸟APTECH先进的教学方法、优质的教育产品和规范的经营管理模式已经得到了来自国际(ISO9001认证)、国内(劳动与社会保障部OSTA联合认证)的双重认可。
目前,公司已在全国20多个省份、自治区、直辖市的100余个重点城市发展了240余家授权培训中心,全体系教职员工10000余人,培养学员逾30万人,发展速度之快、经营规模之大、学员人数之多,在全国众多IT职业培训机构中一枝独秀。
所有中心实行统一经营管理、严格保证教学质量,受到社会和业界的高度认可。
公司采取特许经营的业务模式,在全国建立“北大青鸟APTECH计算机授权培训中心”。
在8年的发展历程中,公司依托北京大学雄厚的教育背景,在科学先进的管理经验、系统完美的教材编排、以人为本的课程设置的基础上,已发展成为中国现代信息技术教育领域的先锋。
公司服务于国内IT职业教育领域,致力于为中国IT产业培养技能型紧缺实用人才。
北京阿博泰克北大青鸟信息技术有限公司(简称“北大青鸟APTECH”) 成立于2000年1月,是北京大学青鸟集团与印度阿博泰克公司(APTECH)合资组建的专业IT职业教育公司。
  • 北大青鸟电话:0371-66252525
  • 教质服务热线:15890063901
  • 夜间咨询热线:13676985050
北大青鸟电子杂志