摘要:原文链接 常用内存泄露检测手段有 1 mtrace 2 memwatch 3 mpatrol 4 dmalloc 5 dbgmem 6 valgrind 7 Electric Fence dmalloc是一个简单易用的C/C++内存leak检查工具,以一个运行库的方式发布。 dmalloc能够检查出
阅读全文
随笔分类 - 嵌入式
嵌入式
摘要:话说“工欲善其事,必先得其器”,用C语言写程序,最怕遇到个什么内存泄漏,内存越界访问了,心里那个急啊。。。 如果在i368-linlux上,valgrind工具是首选,但在arm-linux平台上,如何呢,dmalloc就是一个不错的选择。当然,IBM的purify是另外一个级别的选手,不提也罢。
阅读全文
摘要:下面是我实际在开发环境里面做的dmalloc移植时候的一些随笔 配置PC的dmalloc环境1. 首先把源码包打开,进入dmalloc文件夹2. ./configure 配置Makefile,我是加了线程选项的,所以我的是./configure --enable-threads3. 生成Makefi
阅读全文
摘要:一谈到内存泄露, 多数程序员都闻之色变。 没错, 内存泄露很容易引入, 但很难定位。 以你我的手机为例(假设不经常关机), 如果每天泄露一些内存, 那么开始的一个星期, 你会发现手机好好的, 当内存泄露积累到一定程度, 那就是各种卡死了, 系统异常, 最后死机, 不得不重启。 如果搞开发, 遇到内存
阅读全文
摘要:前言 所有使用动态内存分配(dynamic memory allocation)的程序都有机会遇上内存泄露(memory leakage)问题,在Linux里有三种常用工具来检测内存泄露的情況,包括: 1. mtrace mtrace是三款工具之中是最简单易用的,mtrace是一个C函數,在<mch
阅读全文
摘要:欢迎转载,转载请注明出处:http://forever.blog.chinaunix.net一、编写linux下应用程序的时候,有时候会用到高精度相对时间的概念,比如间隔100ms。那么应该使用哪个时间函数更准确呢? 1、time 该函数返回的是自1970年以来的秒数,显然精度不够,不能使用 2、g
阅读全文
摘要:一、_IO, _IOR, _IOW, _IOWR 宏的用法与解析 在驱动程序里, ioctl() 函数上传送的变量 cmd 是应用程序用于区别设备驱动程序请求处理内容的值。cmd除了可区别数字外,还包含有助于处理的几种相应信息。 cmd的大小为 32位,共分 4 个域:bit31~bit30 2位为
阅读全文
摘要:原文地址:http://blog.csdn.net/cserchen/article/details/5503556 Linux下编译程序时,经常会遇到“undefined reference to XXX” 报错, 这里总结一些可能的原因和解决方案,给需要的朋友: 说道undefined refe
阅读全文
摘要:我们在使用printk()函数中使用日志级别为的是使编程人员在编程过程中自定义地进行信息的输出,更加容易地掌握系统当前的状况。对程序的调试起到了很重要的作用。(下文中的日志级别和控制台日志控制级别是一个意思) printk(日志级别 "消息文本");这里的日志级别通俗的说指的是对文本信息的一种输出范
阅读全文
摘要:上一节的程序很振奋人心,我们自己实现了一个myprintk打印函数。但是这个函数存在一个致命的缺陷,那就是只能使用一次cat /proc/mymsg命令来读取mylog_buf的值。这是因为读到最后会出现:mylog_r == mylog_w,表示缓冲区为空,下一次就不能在读到数据了。在本节里面我们
阅读全文
摘要:首先我们需要弄清楚proc机制,来看看fs/proc/proc_misc.c这个文件,从入口函数开始看: proc_misc_init(void) #ifdef CONFIG_PRINTK { struct proc_dir_entry *entry; entry = create_proc_ent
阅读全文
摘要:1、基本原理 (1)在UBOOT里设置console=ttySAC0或者console=tty1 这里是设置控制终端,tySAC0 表示串口, tty1 表示lcd(2)内核用printk打印 内核就会根据命令行参数来找到对应的硬件操作函数,并将信息通过对应的硬件终端打印出来! 2、printk的使
阅读全文
摘要:话说“工欲善其事,必先得其器”,用C语言写程序,最怕遇到个什么内存泄漏,内存越界访问了,心里那个急啊。。。 如果在i368-linlux上,valgrind工具是首选,但在arm-linux平台上,如何呢,dmalloc就是一个不错的选择。当然,IBM的purify是另外一个级别的选手,不提也罢。
阅读全文
摘要:1. 下载源码: http://valgrind.org/downloads/valgrind-3.9.0.tar.bz2 2. 加压缩: mkdir sw cd sw tar zxf valgrind-3.9.0.tar.bz2 3. 修改代码: cd valgrind-3.9.0/ vim co
阅读全文
摘要:Valgrind 概述 体系结构 Valgrind是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合。Valgrind由内核(core)以及基于内核的其他调试工具组成。内核类似于一个框架(framework),它模拟了一个CPU环境,并提供服务给其他工具;而其他工具则类似于插件 (p
阅读全文
摘要:名称: dd使用权限: 任何使用者dd 这个指令在 manual 里的定义是 convert and copy a file使用方式:dd [option]查看帮助说明dd --help或是info dd 查看版本:dd --version输入或输出dd if=[STDIN] of=[STDOUT]
阅读全文
摘要:x86平台有ldd可以很方便的查看对库的依赖关系,但在嵌入式linux环境中没有这个命令,替而代之是 CC=$(CROSS_COMPILE)gcc LDD=$(CROSS_COMPILE)readelf 范例 [plain] view plain copy $(CROSS_COMPILE)reade
阅读全文
摘要:1. 下载及解压valgrind-3.9.0 2.CC=/opt/hisi-linux/x86-arm/arm-hisiv200-linux/target/bin/arm-hisiv200-linux-gcc CPP=/opt/hisi-linux/x86-arm/arm-hisiv200-linu
阅读全文
摘要:1. wget http://valgrind.org/downloads/valgrind-3.9.0.tar.bz2 tar xvf valgrind-3.9.0.tar.bz2 cd valgrind-3.9.0 apt-get install automake ./autogen.sh 2.
阅读全文
摘要:Valgrind 是一款 Linux下(支持 x86、x86_64和ppc32)程序的内存调试工具,它可以对编译后的二进制程序进行内存使用监测(C语言中的malloc和free,以及C++中的new和delete),找出内存泄漏问题。 Valgrind 中包含的 Memcheck 工具可以检查以下的
阅读全文