ftrace 什么是ftrace ftrace是 Linux 内核中一个功能强大的跟踪框架,用于跟踪和分析内核及其模块的执行情况。它提供了一系列工具和功能,帮助开发者调试内核、分析性能瓶颈、查看系统调用、函数调用、上下文切换等信息。 ftrace 的主要功能: 函数跟踪 (function tracing): 可以跟踪内核中每个函数的调用情况,包括函数进入、退出的时间和执行时间。 例如,可以跟踪某个特定 2024-08-22 debug #debug
I2C调试 I2C调试busybox devmem在Linux系统,如果我们想要访问某个寄存器,就需要写一个驱动程序,在驱动中映射寄存器地址,转为虚拟地址后就可以访问。但有时候,我们只是单纯想知道某个寄存器的值,不想这么麻烦,怎么办呢?Linux早就想到这一点了,于是提供了一个工具devmem,通过devmem就可以直接读写寄存器,devmem是一个命令,在shell中输入devmem命令就可以非常方便的读 2024-07-17 debug #debug #i2c
ioctl ioctl在驱动程序的ioctl函数体中,实现了一个switch-case结构,每一个case对应一个命令码,case内部是驱动程序实现该命令的相关操作。 ioctl的实现函数要传递给file_operations结构体中对应的函数指针,函数原型为 123#include <linux/ioctl.h>long (*unlocked_ioctl) (struct file * fp, 2024-07-10 ioctl #ioctl
S3 问题根因分析技术文档 S3 问题根因分析技术文档问题背景 x86 1070 5.10 联想昭阳k4e-iml 待机自动唤醒 首先我们看一下日志 我们可以看到在准备Disabling non-boot CPUs 的时候检测到wakeup事件了(wake up pending),abort CPU freeze 一般这个wakeup事件产生可能是某些设备下电的时候出现异常,或者此时外部设备来了一个中断,打断S3的操作 2024-07-10 Power Management #bug #Power Management
Suspend (kernel 5.10) Suspend (kernel 5.10) state_store pm_suspend enter_state valid_state suspend_prepare sleep_state_supported pm_notifier_call_chain_robust suspend_freeze_processes freeze_processes freeze_kern 2024-06-20 Power Management #Power Management
linux工具 USBcat_usb_device_power_wakeup.sh12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849#!/bin/bash# author: TomfileName=""productName=""for 2024-05-20 script #script
crash Crash一个用于分析 Linux 内核转储文件的工具。它提供了一个交互式的环境,让用户能够检查内核转储文件中的信息,包括进程栈、内核数据结构等 进入crash环境12sudo -scrash /lib/debug/vmlinux dump.2 btbacktrace打印内核栈回溯信息,bt pid 打印指定进程栈信息 123456789101112131415161718192021222 2024-05-10 debug #debug
gdb gdb编译程序加参数时生成调试信息 g 和 -ggdb 都是令 gcc 生成调试信息,但是它们也是有区别的 选项 解析 g 该选项可以利用操作系统的“原生格式(native format)”生成调试信息。GDB 可以直接利用这个信息,其它调试器也可以使用这个调试信息 ggdb 使 GCC为GDB 生成专用的更为丰富的调试信息,但是,此时就不能用其他的调试器来进行调试了 (如 ddx 2024-05-10 debug #debug
kdump Kdumpkdump是在系统崩溃、死锁、或者死机的时候用来转储内存为vmcore保存到磁盘的一个工具和服务 相关配置12345678910111213CONFIG_KEXEC=yCONFIG_KEXEC_FILE=y //两者选其一,或者都选也可以,对应两个版本的kexec接口CONFIG_CRASH_DUMP=y //内核支持系统崩溃转储功能,即能够生成 vmcore 文件以便进行故障诊 2024-05-10 debug #debug