自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

转载 linux c typeof创建结构体元素类型用法

最后给出我自己的一个小例子typeof的用法 首先typeof这个东西并不是ISO/IEC 9899:1999里的,也就是说不是标准C的运算符,这是gcc的一个扩展。在gcc的官方文档中单独列了一章来说这个东西(5.6 Referring to a Type with typeof)。具体的内容如下:Another way to refer to the typ

2014-02-20 11:20:52 1646

转载 Linux中grep命令的12个实践例子

grep是每个Linux发行版都预装的一个强有力的文件模式搜索工具。无论何种原因,如果你的系统没有预装它的话,你可以很容易的通过系统的包管理器来安装它(Debian/Ubuntu系中的apt-get和RHEl/CentOS/Fedora系中的yum)。  $ sudo apt-get install grep #Debian/Ubuntu $ sudo yum install grep

2014-02-18 18:19:11 4265 1

转载 linux ftrace追踪一(基本技术结构粗略剖析)

一   文档说明本文为2.6.32下trace机制(以下简称trace)的调研文档。trace实现的基础为tracepoint机制,存放数据的缓存实现为ring buffer。阅读代码路径:samples/tracepointskernel/traceinclude/trace二   tracepointtracepoint是实现ftrace架构的基础。在内核代码路径s

2014-02-17 09:04:06 2049

原创 怎样自动运行ftrace

怎样通过uboot把trace event等设置到kernel,并自动运行?参数的设定一般是通过 early_param/ __setup这两种方法:early_param("lapic", parse_lapic);__setup("ftrace_notrace=", set_ftrace_notrace);在内核代码中搜索 early_param/ __setup并在结果中

2014-02-14 18:04:34 1029

转载 ftrace 简介

Trace 对于软件的维护和性能分析至关重要,ftrace 是当前 Linux 内核中一种新的 trace 工具。本文介绍 ftrace 的使用和实现原理,并将 ftrace 和 systemTap,LTTng 等软件进行对比,希望读者能够对 ftrace 有一个全面的了解。ftrace 简介ftrace 的作用是帮助开发人员了解 Linux 内核的运行时行为,以便进行故障

2014-02-14 16:24:13 927

原创 怎样分析crash dump(内存错误)

Memory错误在内核中,内存是以cache的形式组织的,每个对象类型对应一个cache,如(inod_cache,dentry_cache, buffer_head,vm_area_strutct等);每个cache包含多个slab(slab由一个或多个页组成,这些页物理上是连续的);每个slab包含多个初始化的对象。Cache可以分为两类【kmalloc使用的和其他】,当然他们是用

2014-02-13 18:12:56 14202

原创 怎样分析crash dump(软件看门狗超时)

软件看门狗超时1.Log | tail -xxx从log得知,发生softlock的CPU为CPU0[ 240.220702:0] BUG: soft lockup -CPU#0stuck for 22s! [kworker/u:2:803][ 240.227296:0] Modules linked in:[ 240.227305:0][

2014-02-13 17:58:51 2502

原创 怎样分析crash dump(空指针)

以简单的系统提供的crash方法为例,echoc > /proc/sysrq-trigger.得到crash文件后,一般情况下,最想看到的是错误类型和发生错误时的registers和backtrace.可以通过命令log| tail -200得到,意思是得到log文件的最后200行:crash>log | tail -200[2207.597488:0] Unable to

2014-02-13 17:47:17 4039

原创 怎样保存kernel crash dump 文件

1、概述实现Linuxkernel crashdump的保存,包括两部分。当kernel异常后,需要系统重启,且重启方式和正常的重启(上电重启)区别开;当系统重启后,判断重启的原因,如果是内核中设置的重启模式,则把RAM保存成ELF格式的文件,以使能使用Linux提供的crash分析工具。2、kernelcrash发生后的过程Fig1当数据访问异常时

2014-02-13 17:25:55 3033

转载 可重入内核

可重入内核所有的Unix内核都是可重入的,这意味着若干个进程可以同时在内核态下执行提供可重入的一种方式是编写函数,以编写这些函数只能修改局部变量,而不能修改全局数据结构,这样的函数叫可重入函数。但是可重入内核不仅仅局限于这样的可重入函数。相反,可重入内核可以包含非重入函数,并且利用锁机制保证一次只有一个进程执行一个非重入函数。 如果一个硬件中断发生,可重入内核挂起当前正在执

2014-02-12 10:14:02 874

原创 ftrace:event的实现原理和使用方法

跟踪timer事件include/trace/events/timer.h文件中定义了一组DEFINE_EVENT and TRACE_EVENT两者有什么区别?kernel/timer.c定义了一组:static inline void debug_init(struct timer_list *timer){    debug_timer_init(ti

2014-02-11 12:38:46 7996

转载 利用ftrace跟踪内核static tracepoint——实例writeback event

摘要:和很多linux内核子系统一样,static tracepoint有很多层次,其中某个层次都展示给不同层次的开发者来满足他们的不同需求。关于linux tracepoint的详细信息,我们可以在linux内核文档Documentation/trace/tracepoints.txt和 samples/tracepoints这两个地方找到。大致来说,对tracepoints本身的定义是第一个层

2014-02-11 11:07:05 1038

转载 linux下的内核测试工具——perf使用简介

摘要:Perf是Linux kernel自带的系统性能优化工具。Perf的优势在于与Linux Kernel的紧密结合,它可以最先应用到加入Kernel的new feature。pef可以用于查看热点函数,查看cashe miss的比率,从而帮助开发者来优化程序性能。本文来源:http://blog.csdn.net/trochiluses/article/details/1026

2014-02-11 11:03:41 1554

原创 linux下的常用命令

过滤出某类型文件,然后在其中搜索find . -name "*.scons" -print |xargs grep "Glob"找到某类文件并删除find ./ -name "*.os" | xargs rm -rf删除xx(可以使文件或文件夹)之外的文件和文件夹[root@localhost abc]# ls |grep -v xx|xargs rm -...

2014-02-11 09:32:31 914 2

原创 USB driver调试中遇到的问题

1.当USB拔出后,USB图标不消失The USB indication will not disappear when the usb cable plug out after plug the cable in and out  ten more times. The indication show it is connected withUSB£¬ but actually th

2014-02-10 15:34:26 7056

转载 ARM面试题

1.用预处理指令#define声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #defineSECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: 1).#define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2).懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实际的

2014-02-10 14:54:31 2350

原创 crash commands

PrerequisitesThe crash utilityhas the following prerequisites:kernelobject file:A vmlinux kernelobject file, often referred to as the namelist inthis document, which must havebeen buil

2014-02-10 14:48:07 4593

原创 怎样看bt -f的数据

bt -fPID: 2159   TASK: d5256e20  CPU: 1   COMMAND: "m.android.phone" #0 [] (__raw_spin_lock_irqsave) from []    [PC: c063d51c  LR: c063d568  SP: d406d958  SIZE: 32]    d406d958: 00000000 d40

2014-02-10 14:37:47 1427

原创 tty上网行规的设置

/************************************************************************/目的AP/BP通过shared memory上网, shared memory虚拟成多个tty端口,通过其中一个tty端口上网,上网端口的行规设置为 N_PPP,在kernel一直没有找到哪里设置了这个行规。在哪里设置的哪?从系

2014-02-08 14:17:02 1886

转载 【android】根据init.rc启动action和service

一、init.rc语法规则1.init.rc文件的内容主要分类动作(Action)命令(Commands)服务(Services)选项(Options)触发(trigger)2.动作和命令一起使用[cpp] view plaincopyon                      2.1.trigger是触发条件,为真执行命令t

2014-02-08 11:25:41 1616

转载 android简介

Android系统架构图及简单的系统架构介绍Android的系统架构和其操作系统一样,采用了分层的架构。从架构图看,android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux核心层。Android系统架构图  1.应用程序   Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短

2014-02-07 16:23:00 1721

转载 Android 2.1下调试3G模块

曾几何时在Android2.1下调试3G模块,曾几何时模块厂商提供的库不能用,曾几何时只能用自己的库痛苦地调试...这一切的一切都已成往事,昔日的成功在毫无保留下成为浮云,该忘了忘记了,该记得也跟着忘记了。现如今再次调3G模块,却不知道以前如何调试,看来还是要记下来。我采用的是华为EM770W模块,支持WCDMA网络,由于华为提供的库只支持Android2.2,所以用Android2.1就需要

2014-02-07 16:08:20 901

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除