上一页 1 ··· 9 10 11 12 13 14 下一页

2016年4月23日

Linux内核调试方法总结之Kprobes

摘要: Kprobes 【用途】【参考kernel/Documentation/kprobes.txt帮助文档】 Kprobes是一个轻量级内核调试工具,同时又是其他一些更高级的内核调试工具(如perf和systemtap)的基础,在Linux 4.0内核版本中,eBPF特性也寄生于kprobe之上。 【原 阅读全文

posted @ 2016-04-23 14:27 者旨於陽 阅读(1244) 评论(0) 推荐(0) 编辑

Linux内核调试方法总结之内核通知链

摘要: Linux内核通知链notifier 1.内核通知链表简介(引用网络资料) 大多数内核子系统都是相互独立的,因此某个子系统可能对其它子系统产生的事件感兴趣。为了满足这个需求,也即是让某个子系统在发生某个事件时通知其它的子系统,Linux内核提供了通知链的机制。通知链表只能够在内核的子系统之间使用,而 阅读全文

posted @ 2016-04-23 14:18 者旨於陽 阅读(1910) 评论(0) 推荐(0) 编辑

Linux内核调试方法总结之sysrq

摘要: sysrq 【用途】 Sysrq被称为”魔术组合键”, 是内建于Linux内核的调试工具。只要内核没有完全锁住,不管内核在做什么事情,使用这些组合键都可以搜集包括系统内存使用、CPU任务处理、进程运行状态等系统运行信息。 【原理】【内核帮助文档kernel/Documentation/sysrq.t 阅读全文

posted @ 2016-04-23 14:16 者旨於陽 阅读(15758) 评论(0) 推荐(0) 编辑

Linux内核调试方法总结之ftrace

摘要: ftrace 【用途】 ftrace包含一系列跟踪器,用于不同的场合,比如跟踪内核函数调用(function tracer)、跟踪上下文切换(sched_switch tracer)、查看中断被关闭的时长(irqsoff tracer)、跟踪内核中的延迟以及性能问题等。Ftrace是内建于Linux 阅读全文

posted @ 2016-04-23 14:12 者旨於陽 阅读(1859) 评论(0) 推荐(0) 编辑

Linux内核调试方法总结之ptrace

摘要: ptrace 【用途】 进程跟踪器,类似于gdb watch的调试方法 【原理】【详细说明参考man ptrace帮助文档】 ptrace系统调用主要是父进程用来观察和控制子进程的执行过程、检查并替换子进程执行序列或者寄存器值的一种手段。主要用于实现断点调试和跟踪系统调用。 【接口说明】 #incl 阅读全文

posted @ 2016-04-23 14:09 者旨於陽 阅读(2601) 评论(0) 推荐(0) 编辑

Linux内核调试方法总结之ltrace

摘要: ltrace 【用途】 库文件调用跟踪器,Linux内核内建命令,用法类似strace 【命令格式】 【参数说明】【详细说明参考man ltrace帮助文档】 -D 打印调试信息 01-DEBUG_GENERAL 010-DEBUG_EVENT 020-DEBUG_PROCESS 040-DEBUG 阅读全文

posted @ 2016-04-23 14:06 者旨於陽 阅读(772) 评论(0) 推荐(0) 编辑

Linux内核调试方法总结之strace

摘要: strace 【用途】 strace是一个功能强大的调试、分析、诊断工具,跟踪程序或进程执行时的系统调用和所接收的信号。可将所调用的系统调用的名称、参数和返回值输出到标准输出或者输出到-o指定的文件。 【命令格式】 strace [ -dffhiqrtttTvxx ] [ -a column ] [ 阅读全文

posted @ 2016-04-23 14:05 者旨於陽 阅读(1378) 评论(0) 推荐(0) 编辑

Linux内核调试方法总结之backtrace

摘要: backtrace 【用途】用户态或者内核态程序异常退出时回溯堆栈信息 【原理】通过对当前堆栈的分析,回溯上层函数在当前栈中的帧地址,直至顶层函数。帧地址是指在栈中存在局部变量、上一级函数返回地址、寄存器值的内存空间。由于不同处理器堆栈实现不同(向上增长和向下增长),此功能的具体实现是编译器内建的_ 阅读全文

posted @ 2016-04-23 14:04 者旨於陽 阅读(4075) 评论(0) 推荐(1) 编辑

Linux内核调试方法总结之ddebug

摘要: 【用途】 Linux内核动态调试特性,适用于驱动和内核各子系统调试。动态调试的主要功能就是允许你动态的打开或者关闭内核代码中的各种提示信息。适用于驱动和内核线程功能调试。 【使用方法】 依赖于CONFIG_DYNAMIC_DEBUG内核配置选项,一旦设置好,那么所有pr_debug()/dev_de 阅读全文

posted @ 2016-04-23 13:53 者旨於陽 阅读(2493) 评论(0) 推荐(0) 编辑

Linux内核调试方法总结之调试宏

摘要: 本文介绍的内核调试宏属于静态调试方法,通过调试宏主动触发oops从而打印出函数调用栈信息。 1) BUG_ON 查看bug处堆栈内容,主动制造oops Linux中BUG_ON,WARN_ON用于调试,比如 #define BUG_ON(condition) do { / if (unlikely( 阅读全文

posted @ 2016-04-23 13:50 者旨於陽 阅读(2133) 评论(0) 推荐(0) 编辑

上一页 1 ··· 9 10 11 12 13 14 下一页

导航