易截截图软件、单文件、免安装、纯绿色、仅160KB

linux内核printk调试


linux内核printk调试(摘录《Linux安全体系分析与编程》)
linux内核printk调试(摘录《Linux安全体系分析与编程》)
1  printk及控制台的日志级别
函数printk的使用方法和printf相似,用于内核打印消息。printk根据日志级别(loglevel)对消息进行分类。
日志级别用宏定义,日志级别宏展开为一个字符串,在编译时由预处理器将它和消息文本拼接成一个字符串,因此printk 函数中日志级别宏和格式字符串间不能有逗号。
下面是两个printk的例子,一个用于打印调试信息,另一个用于打印临界条件信息。
printk(KERN_DEBUG "Here I am: %s:%i\n", _ _FILE_ _, _ _LINE_ _);
printk(KERN_CRIT "I'm trashed; giving up on %p\n", ptr);
printk的日志级别定义如下(在linux26/includelinux/kernel.h中):
#defineKERN_EMERG"<0>"/*紧急事件消息,系统崩溃之前提示,表示系统不可用*/
#defineKERN_ALERT"<1>"/*报告消息,表示必须立即采取措施*/
#defineKERN_CRIT"<2>"/*临界条件,通常涉及严重的硬件或软件操作失败*/
#defineKERN_ERR"<3>"/*错误条件,驱动程序常用KERN_ERR来报告硬件的错误*/
#defineKERN_WARNING"<4>"/*警告条件,对可能出现问题的情况进行警告*/
#defineKERN_NOTICE"<5>"/*正常但又重要的条件,用于提醒。常用于与安全相关的消息*/
#defineKERN_INFO"<6>"/*提示信息,如驱动程序启动时,打印硬件信息*/
#defineKERN_DEBUG"<7>"/*调试级别的消息*/
 
extern int console_printk[];
 
#define console_loglevel  (console_printk[0])
#define default_message_loglevel  (console_printk[1])
#define minimum_console_loglevel  (console_printk[2])
#define default_console_loglevel  (console_printk[3])
日志级别的范围是0~7,没有指定日志级别的printk语句默认采用的级别是 DEFAULT_ MESSAGE_LOGLEVEL,其定义列出如下(在linux26/kernel/printk.c中):
/*没有定义日志级别的printk使用下面的默认级别*/
#define DEFAULT_MESSAGE_LOGLEVEL 4 /* KERN_WARNING 警告条件*/
内核可把消息打印到当前控制台上,可以指定控制台为字符模式的终端或打印机等。默认情况下,“控制台”就是当前的虚拟终端。
为了更好地控制不同级别的信息显示在控制台上,内核设置了控制台的日志级别console_loglevel。printk日志级别的作用


相关文档:

svn linux 客户端使用

svn log test.php #显示这个文件的所有修改记录,及其版本号的变化
1、将文件checkout到本地目录
svn checkout path(path是服务器上的目录)
例如:
svn checkout svn://192.168.1.1/pro/

2、往版本库中添加新的文件
add file add add *.php #添加当前目录下所有的php文件

3、将改动的文件提交到版本库
"Log ......

[转]Linux系统信息查看命令

系统
# uname -a # 查看内核/操作系统/CPU信息
# head -n 1 /etc/issue # 查看操作系统版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看计算机名
# lspci -tv # 列出所有PCI设备
# lsusb -tv # 列出所有USB设备
# lsmod # ......

linux内核移植s3c2410,准备工作

1.首先是获得linux内核源码,好像是废话,下载地址如下:ftp://ftp.kernel.org/pub/linux/kernel/v2.6/下载:
linux-2.6.16.22.tar.bz2  patch-2.6.22.6.bz2
上面一步需要说明的是一般而言,linux内核的各个补丁文件是根据某个linux内核的版本号来作的patch。
将上面的两个压缩文件解压:
tar jxvf linux-2.6.22.ta ......

Linux知识复习(一)

很久没有用linux了,由于要学习linux下的内核编程又要重新拾起linux,用了这么久的windows对linux都快忘完了。所以边看资料和操作来复习一下linux的基本操作。
一、linux的目录结构
首先,linux的文件系统即本身是由VFS即Virtual File System Switch(虚拟文件系统)来实文件管理的,VFS本身是一个文件档案管理系统的一个 ......

[精华] 利用linux内核模块实现TTY Hack


///////////////////////////////////////////////////////////////////////////////////////////////
这是很早以前的tty hacking了,其实就是一个初级的内核的键盘钩子的实现原理
后面我会贴出我整理phrack杂志59期里的最新的内核键盘钩子技术
/////////////////////////////////////////////////////////////// ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号